RocketChat / Rocket.Chat

The communications platform that puts data protection first.
https://rocket.chat/
Other
40.39k stars 10.51k forks source link

Rocketchat dosent send Messages after Restarting MongoDB #24795

Open VonNao opened 2 years ago

VonNao commented 2 years ago

Description:

Rocketchat dosent send messages after restart of MongoDB. Messges are greyed out are only send after reload the browser tab or reloading/restarting the client. This needs to be done for every message. After restarting the Rocketchat Pod everything is working fine

Steps to reproduce:

  1. Restart mongodb
  2. Try to send messages

Expected behavior:

Messages are send as normal.

Actual behavior:

grafik

Server Setup Information:

Client Setup Information

Additional context

Relevant logs:

Errors like this can cause oplog processing errors.
Setting EXIT_UNHANDLEDPROMISEREJECTION will cause the process to exit allowing your service to automatically restart the process
Future node.js versions will automatically exit the process
=================================
Exception from sub meteor.loginServiceConfiguration id xXHcBXDrtncbJ9WBM MongoError: not master and slaveOk=false
    at MessageStream.messageHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/connection.js:272:20)
    at MessageStream.emit (events.js:400:28)
    at MessageStream.emit (domain.js:475:12)
    at processIncomingData (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
    at MessageStream._write (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at MessageStream.Writable.write (internal/streams/writable.js:303:10)
    at Socket.ondata (internal/streams/readable.js:731:22)
    at Socket.emit (events.js:400:28)
    at Socket.emit (domain.js:475:12)
    at addChunk (internal/streams/readable.js:293:12)
    at readableAddChunk (internal/streams/readable.js:267:9)
    at Socket.Readable.push (internal/streams/readable.js:206:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
    at TCP.callbackTrampoline (internal/async_hooks.js:130:17)
 => awaited here:
    at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)
    at MongoConnection.MongoInternals.Connection._observeChanges (server/services/meteor/service.ts:79:28)
    at Cursor.observeChanges (packages/mongo/mongo_driver.js:976:22)
    at Function._publishCursor (packages/mongo/collection.js:394:32)
    at Cursor._publishCursor (packages/mongo/mongo_driver.js:939:27)
    at Subscription._publishHandlerResult (packages/ddp-server/livedata_server.js:1164:13)
    at Subscription._runHandler (packages/ddp-server/livedata_server.js:1136:12)
    at Session._startSubscription (packages/ddp-server/livedata_server.js:917:9)
    at Session.sub (packages/ddp-server/livedata_server.js:673:12)
    at packages/ddp-server/livedata_server.js:603:43
{"level":50,"time":"2022-03-10T17:13:01.955Z","pid":1,"hostname":"chat-pulheim-rocketchat-67cb4b4bff-4xpkf","name":"","name":"System","msg":"Exception while invoking method public-settings/get 'not master and slaveOk=false'"}
=== UnHandledPromiseRejection ===
MongoError: not master and slaveOk=false
    at MessageStream.messageHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/connection.js:272:20)
    at MessageStream.emit (events.js:400:28)
    at MessageStream.emit (domain.js:475:12)
    at processIncomingData (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
    at MessageStream._write (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at MessageStream.Writable.write (internal/streams/writable.js:303:10)
    at Socket.ondata (internal/streams/readable.js:731:22)
    at Socket.emit (events.js:400:28)
    at Socket.emit (domain.js:475:12)
    at addChunk (internal/streams/readable.js:293:12)
    at readableAddChunk (internal/streams/readable.js:267:9)
    at Socket.Readable.push (internal/streams/readable.js:206:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
    at TCP.callbackTrampoline (internal/async_hooks.js:130:17)
 => awaited here:
    at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)
    at app/livechat/server/statistics/LivechatAgentActivityMonitor.js:90:16
    at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40 {
  topologyVersion: { processId: 622a31954c364c0f230af512, counter: 3 },
  ok: 0,
  code: 13435,
  codeName: 'NotPrimaryNoSecondaryOk'
}
ankar84 commented 2 years ago

Check you mongo replica set, if it correctly configured.

tmkis2 commented 2 years ago

Same here. After restarting MongoDB I only see new messages when I refresh the browser or the app. Server Version 4.5.2 and MongoDB 4.4

smulikHakipod commented 2 years ago

Same. Seems after a mongo restart (because of AWS spot) nothing reponse anymore. In my case I had to reboot rocketchat instance. Rocket 4.5.1, mongo 4.4.11, oplog enabled. Thanks