AWS DocumentDB errors after migration from mongoDB

Viewed 2264

My application is shifted from MongoDB to DocumentDB. I get these errors after migration though I resolved the connectivity issue to AWS DocumentDB.

MongoError: namespace name generated from index name is too long
    at /app/node_modules/mongodb-core/lib/connection/pool.js:581:63
    at authenticateStragglers (/app/node_modules/mongodb-core/lib/connection/pool.js:504:16)
    at Connection.messageHandler (/app/node_modules/mongodb-core/lib/connection/pool.js:540:5)
    at emitMessageHandler (/app/node_modules/mongodb-core/lib/connection/connection.js:310:10)
    at TLSSocket.<anonymous> (/app/node_modules/mongodb-core/lib/connection/connection.js:453:17)
    at emitOne (events.js:116:13)
    at TLSSocket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at TLSSocket.Readable.push (_stream_readable.js:208:10)
    at TLSWrap.onread (net.js:601:20)
  ok: 0,
  errmsg: 'namespace name generated from index name is too long',

{ MongoError: system collection creation not supported
    at Function.create (/app/node_modules/mongodb-core/lib/error.js:43:12)
    at db.s.topology.insert (/app/node_modules/mongodb/lib/operations/db_ops.js:329:54)
    at handler (/app/node_modules/mongodb-core/lib/topologies/replset.js:1197:22)
    at /app/node_modules/mongodb-core/lib/connection/pool.js:532:18
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9)
  index: 0,
  code: 73,
  errmsg: 'system collection creation not supported',
  name: 'MongoError',
  [Symbol(mongoErrorContextSymbol)]: {} }
ensuring Indexing
2 Answers

Infact to our surprise, while https://docs.aws.amazon.com/documentdb/latest/developerguide/limits.html#limits.naming

mentions that the "Index Name" contraint can only allow Length is [3–63] characters. in actual it only supports 47 characters.

While we have reported this to AWS, we used name attribute provided by mongo to set name of the index explicitly to proceed further.

Infact, according to "Mongo 4.0 Index Key Limit" document, Mongo allows index name upto 128 characters Reference: https://docs.mongodb.com/v4.0/reference/limits/#Index-Key-Limit

Related