Skip to content

Upgrade mongodb 7.0.0 package to fix AWS IAM credentials #37456

@JohnPreston

Description

@JohnPreston

Hi team

Description:

Hi team,
I have a mongoDB Atlas cluster, and I want to connect to it using an IAM role. Everything on the MongoDB Atlas side is configured, and using mongosh I can indeed connect using IAM.

HOWEVER, rocketchat uses mongo package 6.1.0 and the aws_temporary_credentials.ts which should handle things when the provider import fails, well... IMHO they should stop just not try to do anything with AWS anymore.

In a nutshell, tries to capture a VERY limited set of sources for credentials, and for container, does it so poorly, it's incomplete.

Steps to reproduce:

  • Configure MongoDB Atlas to accept IAM auth
  • Configure the MONGO_URL to use the connection string provided.
  • Have the AWS_CONTAINER_CREDENTIALS_FULL_URI and AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE set and functional
  • Start rocketchat.

Expected behavior:

Rocketchat mongodb driver uses the default aws credentials chain

Actual behavior:

See logs.

I have been able to demonstrate that the credentials endpoint is fully functional with the "default" SDK client config and that the credentials are served and valid.

Server Setup Information:

  • Version of Rocket.Chat Server: latest (from docker)
  • License Type: Free/Community
  • Number of Users: 4 (evaluating still)
  • Operating System: Linux (using the docker image though)
  • Deployment Method: docker
  • Number of Running Instances: 1
  • DB Replicaset Oplog:
  • NodeJS Version: 22+ (as per docker image)
  • MongoDB Version: MongoDB Atlas (8.0.15)

Additional context

Using credproxy to serve the credentials. Node is one of the tested clients and it works out of the box without faffing with it.

Relevant logs:

rocketchat-1  | MongoNetworkTimeoutError: Network request to http://169.254.169.254/latest/api/token timed out after undefined ms
rocketchat-1  |     at ClientRequest.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/utils.ts:1246:9)
rocketchat-1  |     at Object.onceWrapper (node:events:632:28)
rocketchat-1  |     at ClientRequest.emit (node:events:518:28)
rocketchat-1  |     at Socket.emitRequestTimeout (node:_http_client:863:9)
rocketchat-1  |     at Object.onceWrapper (node:events:632:28)
rocketchat-1  |     at Socket.emit (node:events:530:35)
rocketchat-1  |     at Socket._onTimeout (node:net:609:8)
rocketchat-1  |     at listOnTimeout (node:internal/timers:588:17)
rocketchat-1  |     at processTimers (node:internal/timers:523:7) {
rocketchat-1  |   connectionGeneration: 0,
rocketchat-1  |   [Symbol(errorLabels)]: Set(3) { 'HandshakeError', 'RetryableWriteError', 'ResetPool' },
rocketchat-1  |   [cause]: undefined
rocketchat-1  | }
rocketchat-1  | PoolClearedError [MongoPoolClearedError]: Connection pool for something.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"
rocketchat-1  |     at ConnectionPool.processWaitQueue (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:762:65)
rocketchat-1  |     at ConnectionPool.clear (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:493:10)
rocketchat-1  |     at updateServers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:842:21)
rocketchat-1  |     at Topology.serverUpdateHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:700:5)
rocketchat-1  |     at Server.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:818:66)
rocketchat-1  |     at Server.emit (node:events:518:28)
rocketchat-1  |     at markServerUnknown (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:501:10)
rocketchat-1  |     at Server.handleError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:381:9)
rocketchat-1  |     at Server.command (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:320:64)
rocketchat-1  |     at processTicksAndRejections (node:internal/process/task_queues:105:5)
rocketchat-1  |     at CreateIndexesOperation.executeCommand (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/command.ts:169:12)
rocketchat-1  |     at CreateIndexesOperation.execute (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/indexes.ts:319:5)
rocketchat-1  |     at tryOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:263:14)
rocketchat-1  |     at executeOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:109:12)
rocketchat-1  |     at Collection.createIndex (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/collection.ts:585:21)
rocketchat-1  |     at MongoConnection.createIndexAsync (packages/mongo/mongo_connection.js:506:3) {
rocketchat-1  |   address: 'something.mongodb.net:27017',
rocketchat-1  |   [Symbol(errorLabels)]: Set(1) { 'PoolRequstedRetry' },
rocketchat-1  |   [cause]: MongoNetworkTimeoutError: Network request to http://169.254.169.254/latest/api/token timed out after undefined ms
rocketchat-1  |       at ClientRequest.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/utils.ts:1246:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at ClientRequest.emit (node:events:518:28)
rocketchat-1  |       at Socket.emitRequestTimeout (node:_http_client:863:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at Socket.emit (node:events:530:35)
rocketchat-1  |       at Socket._onTimeout (node:net:609:8)
rocketchat-1  |       at listOnTimeout (node:internal/timers:588:17)
rocketchat-1  |       at processTimers (node:internal/timers:523:7) {
rocketchat-1  |     connectionGeneration: 0,
rocketchat-1  |     [Symbol(errorLabels)]: Set(3) { 'HandshakeError', 'RetryableWriteError', 'ResetPool' },
rocketchat-1  |     [cause]: undefined
rocketchat-1  |   }
rocketchat-1  | }
rocketchat-1  | PoolClearedError [MongoPoolClearedError]: Connection pool for something.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"
rocketchat-1  |     at ConnectionPool.processWaitQueue (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:762:65)
rocketchat-1  |     at ConnectionPool.clear (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:493:10)
rocketchat-1  |     at updateServers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:842:21)
rocketchat-1  |     at Topology.serverUpdateHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:700:5)
rocketchat-1  |     at Server.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:818:66)
rocketchat-1  |     at Server.emit (node:events:518:28)
rocketchat-1  |     at markServerUnknown (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:501:10)
rocketchat-1  |     at Server.handleError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:381:9)
rocketchat-1  |     at Server.command (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:320:64)
rocketchat-1  |     at processTicksAndRejections (node:internal/process/task_queues:105:5)
rocketchat-1  |     at CreateIndexesOperation.executeCommand (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/command.ts:169:12)
rocketchat-1  |     at CreateIndexesOperation.execute (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/indexes.ts:319:5)
rocketchat-1  |     at tryOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:263:14)
rocketchat-1  |     at executeOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:109:12)
rocketchat-1  |     at Collection.createIndex (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/collection.ts:585:21)
rocketchat-1  |     at MongoConnection.createIndexAsync (packages/mongo/mongo_connection.js:506:3) {
rocketchat-1  |   address: 'something.mongodb.net:27017',
rocketchat-1  |   [Symbol(errorLabels)]: Set(1) { 'PoolRequstedRetry' },
rocketchat-1  |   [cause]: MongoNetworkTimeoutError: Network request to http://169.254.169.254/latest/api/token timed out after undefined ms
rocketchat-1  |       at ClientRequest.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/utils.ts:1246:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at ClientRequest.emit (node:events:518:28)
rocketchat-1  |       at Socket.emitRequestTimeout (node:_http_client:863:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at Socket.emit (node:events:530:35)
rocketchat-1  |       at Socket._onTimeout (node:net:609:8)
rocketchat-1  |       at listOnTimeout (node:internal/timers:588:17)
rocketchat-1  |       at processTimers (node:internal/timers:523:7) {
rocketchat-1  |     connectionGeneration: 0,
rocketchat-1  |     [Symbol(errorLabels)]: Set(3) { 'HandshakeError', 'RetryableWriteError', 'ResetPool' },
rocketchat-1  |     [cause]: undefined
rocketchat-1  |   }
rocketchat-1  | }
rocketchat-1  | PoolClearedError [MongoPoolClearedError]: Connection pool for something.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"
rocketchat-1  |     at ConnectionPool.processWaitQueue (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:762:65)
rocketchat-1  |     at ConnectionPool.clear (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:493:10)
rocketchat-1  |     at updateServers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:842:21)
rocketchat-1  |     at Topology.serverUpdateHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:700:5)
rocketchat-1  |     at Server.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:818:66)
rocketchat-1  |     at Server.emit (node:events:518:28)
rocketchat-1  |     at markServerUnknown (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:501:10)
rocketchat-1  |     at Server.handleError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:381:9)
rocketchat-1  |     at Server.command (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:320:64)
rocketchat-1  |     at processTicksAndRejections (node:internal/process/task_queues:105:5)
rocketchat-1  |     at CreateIndexesOperation.executeCommand (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/command.ts:169:12)
rocketchat-1  |     at CreateIndexesOperation.execute (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/indexes.ts:319:5)
rocketchat-1  |     at tryOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:263:14)
rocketchat-1  |     at executeOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:109:12)
rocketchat-1  |     at Collection.createIndex (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/collection.ts:585:21)
rocketchat-1  |     at MongoConnection.createIndexAsync (packages/mongo/mongo_connection.js:506:3) {
rocketchat-1  |   address: 'something.mongodb.net:27017',
rocketchat-1  |   [Symbol(errorLabels)]: Set(1) { 'PoolRequstedRetry' },
rocketchat-1  |   [cause]: MongoNetworkTimeoutError: Network request to http://169.254.169.254/latest/api/token timed out after undefined ms
rocketchat-1  |       at ClientRequest.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/utils.ts:1246:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at ClientRequest.emit (node:events:518:28)
rocketchat-1  |       at Socket.emitRequestTimeout (node:_http_client:863:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at Socket.emit (node:events:530:35)
rocketchat-1  |       at Socket._onTimeout (node:net:609:8)
rocketchat-1  |       at listOnTimeout (node:internal/timers:588:17)
rocketchat-1  |       at processTimers (node:internal/timers:523:7) {
rocketchat-1  |     connectionGeneration: 0,
rocketchat-1  |     [Symbol(errorLabels)]: Set(3) { 'HandshakeError', 'RetryableWriteError', 'ResetPool' },
rocketchat-1  |     [cause]: undefined
rocketchat-1  |   }
rocketchat-1  | }
rocketchat-1  | PoolClearedError [MongoPoolClearedError]: Connection pool for something.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"
rocketchat-1  |     at ConnectionPool.processWaitQueue (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:762:65)
rocketchat-1  |     at ConnectionPool.clear (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:493:10)
rocketchat-1  |     at updateServers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:842:21)
rocketchat-1  |     at Topology.serverUpdateHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:700:5)
rocketchat-1  |     at Server.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:818:66)
rocketchat-1  |     at Server.emit (node:events:518:28)
rocketchat-1  |     at markServerUnknown (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:501:10)
rocketchat-1  |     at Server.handleError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:381:9)
rocketchat-1  |     at Server.command (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:320:64)
rocketchat-1  |     at processTicksAndRejections (node:internal/process/task_queues:105:5)
rocketchat-1  |     at CreateIndexesOperation.executeCommand (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/command.ts:169:12)
rocketchat-1  |     at CreateIndexesOperation.execute (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/indexes.ts:319:5)
rocketchat-1  |     at tryOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:263:14)
rocketchat-1  |     at executeOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:109:12)
rocketchat-1  |     at Collection.createIndex (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/collection.ts:585:21)
rocketchat-1  |     at MongoConnection.createIndexAsync (packages/mongo/mongo_connection.js:506:3) {
rocketchat-1  |   address: 'something.mongodb.net:27017',
rocketchat-1  |   [Symbol(errorLabels)]: Set(1) { 'PoolRequstedRetry' },
rocketchat-1  |   [cause]: MongoNetworkTimeoutError: Network request to http://169.254.169.254/latest/api/token timed out after undefined ms
rocketchat-1  |       at ClientRequest.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/utils.ts:1246:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at ClientRequest.emit (node:events:518:28)
rocketchat-1  |       at Socket.emitRequestTimeout (node:_http_client:863:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at Socket.emit (node:events:530:35)
rocketchat-1  |       at Socket._onTimeout (node:net:609:8)
rocketchat-1  |       at listOnTimeout (node:internal/timers:588:17)
rocketchat-1  |       at processTimers (node:internal/timers:523:7) {
rocketchat-1  |     connectionGeneration: 0,
rocketchat-1  |     [Symbol(errorLabels)]: Set(3) { 'HandshakeError', 'RetryableWriteError', 'ResetPool' },
rocketchat-1  |     [cause]: undefined
rocketchat-1  |   }
rocketchat-1  | }
rocketchat-1  | PoolClearedError [MongoPoolClearedError]: Connection pool for something.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"
rocketchat-1  |     at ConnectionPool.processWaitQueue (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:762:65)
rocketchat-1  |     at ConnectionPool.clear (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:493:10)
rocketchat-1  |     at updateServers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:842:21)
rocketchat-1  |     at Topology.serverUpdateHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:700:5)
rocketchat-1  |     at Server.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:818:66)
rocketchat-1  |     at Server.emit (node:events:518:28)
rocketchat-1  |     at markServerUnknown (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:501:10)
rocketchat-1  |     at Server.handleError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:381:9)
rocketchat-1  |     at Server.command (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:320:64)
rocketchat-1  |     at processTicksAndRejections (node:internal/process/task_queues:105:5)
rocketchat-1  |     at CreateIndexesOperation.executeCommand (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/command.ts:169:12)
rocketchat-1  |     at CreateIndexesOperation.execute (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/indexes.ts:319:5)
rocketchat-1  |     at tryOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:263:14)
rocketchat-1  |     at executeOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:109:12)
rocketchat-1  |     at Collection.createIndex (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/collection.ts:585:21)
rocketchat-1  |     at MongoConnection.createIndexAsync (packages/mongo/mongo_connection.js:506:3) {
rocketchat-1  |   address: 'something.mongodb.net:27017',
rocketchat-1  |   [Symbol(errorLabels)]: Set(1) { 'PoolRequstedRetry' },
rocketchat-1  |   [cause]: MongoNetworkTimeoutError: Network request to http://169.254.169.254/latest/api/token timed out after undefined ms
rocketchat-1  |       at ClientRequest.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/utils.ts:1246:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at ClientRequest.emit (node:events:518:28)
rocketchat-1  |       at Socket.emitRequestTimeout (node:_http_client:863:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at Socket.emit (node:events:530:35)
rocketchat-1  |       at Socket._onTimeout (node:net:609:8)
rocketchat-1  |       at listOnTimeout (node:internal/timers:588:17)
rocketchat-1  |       at processTimers (node:internal/timers:523:7) {
rocketchat-1  |     connectionGeneration: 0,
rocketchat-1  |     [Symbol(errorLabels)]: Set(3) { 'HandshakeError', 'RetryableWriteError', 'ResetPool' },
rocketchat-1  |     [cause]: undefined
rocketchat-1  |   }
rocketchat-1  | }
rocketchat-1  | PoolClearedError [MongoPoolClearedError]: Connection pool for something.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"
rocketchat-1  |     at ConnectionPool.processWaitQueue (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:762:65)
rocketchat-1  |     at ConnectionPool.clear (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/cmap/connection_pool.ts:493:10)
rocketchat-1  |     at updateServers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:842:21)
rocketchat-1  |     at Topology.serverUpdateHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:700:5)
rocketchat-1  |     at Server.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/topology.ts:818:66)
rocketchat-1  |     at Server.emit (node:events:518:28)
rocketchat-1  |     at markServerUnknown (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:501:10)
rocketchat-1  |     at Server.handleError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:381:9)
rocketchat-1  |     at Server.command (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/sdam/server.ts:320:64)
rocketchat-1  |     at processTicksAndRejections (node:internal/process/task_queues:105:5)
rocketchat-1  |     at CreateIndexesOperation.executeCommand (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/command.ts:169:12)
rocketchat-1  |     at CreateIndexesOperation.execute (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/indexes.ts:319:5)
rocketchat-1  |     at tryOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:263:14)
rocketchat-1  |     at executeOperation (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/operations/execute_operation.ts:109:12)
rocketchat-1  |     at Collection.createIndex (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/collection.ts:585:21)
rocketchat-1  |     at MongoConnection.createIndexAsync (packages/mongo/mongo_connection.js:506:3) {
rocketchat-1  |   address: 'something.mongodb.net:27017',
rocketchat-1  |   [Symbol(errorLabels)]: Set(1) { 'PoolRequstedRetry' },
rocketchat-1  |   [cause]: MongoNetworkTimeoutError: Network request to http://169.254.169.254/latest/api/token timed out after undefined ms
rocketchat-1  |       at ClientRequest.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/src/utils.ts:1246:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at ClientRequest.emit (node:events:518:28)
rocketchat-1  |       at Socket.emitRequestTimeout (node:_http_client:863:9)
rocketchat-1  |       at Object.onceWrapper (node:events:632:28)
rocketchat-1  |       at Socket.emit (node:events:530:35)
rocketchat-1  |       at Socket._onTimeout (node:net:609:8)
rocketchat-1  |       at listOnTimeout (node:internal/timers:588:17)
rocketchat-1  |       at processTimers (node:internal/timers:523:7) {
rocketchat-1  |     connectionGeneration: 0,
rocketchat-1  |     [Symbol(errorLabels)]: Set(3) { 'HandshakeError', 'RetryableWriteError', 'ResetPool' },
rocketchat-1  |     [cause]: undefined
rocketchat-1  |   }
rocketchat-1  | }
rocketchat-1  | 
rocketchat-1  | packages/core-runtime.js:189
rocketchat-1  |             throw error;
rocketchat-1  |             ^
rocketchat-1  | errorClass [Error]: [An error occurred when creating an index for collection "users: Connection pool for something
.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"]
rocketchat-1  |     at Collection.createIndexAsync (packages/mongo/collection/methods_index.js:62:15)
rocketchat-1  |     at processTicksAndRejections (node:internal/process/task_queues:105:5)
rocketchat-1  |     at module.wrapAsync.self (packages/accounts-password/password_server.js:1342:1) {
rocketchat-1  |   isClientSafe: true,
rocketchat-1  |   error: 'An error occurred when creating an index for collection "users: Connection pool for something.mongodb.net:27017 was cleared because another operation failed with: "Network request to http://169.254.169.254/latest/api/token timed out after undefined ms"',
rocketchat-1  |   reason: undefined,
rocketchat-1  |   details: undefined,
rocketchat-1  |   errorType: 'Meteor.Error'
rocketchat-1  | }
rocketchat-1  | 

PS: I have manged to hack this through creating my own .ts and .js files, and forceably load them into the docker image, using the rocketchat one as source, and this then works great. So it definitely works when implemented properly.

I imagine the best course of action for you guys is upgrade the mongodb client which by the look of what's in the main branch seems to leave the job to the real SDK credentials provider.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions