diff --git a/services/real-time/app/coffee/DocumentUpdaterController.coffee b/services/real-time/app/coffee/DocumentUpdaterController.coffee index e74b01259b..441cff70ce 100644 --- a/services/real-time/app/coffee/DocumentUpdaterController.coffee +++ b/services/real-time/app/coffee/DocumentUpdaterController.coffee @@ -3,6 +3,8 @@ settings = require 'settings-sharelatex' redis = require("redis-sharelatex") rclient = redis.createClient(settings.redis.web) +MESSAGE_SIZE_LOG_LIMIT = 1024 * 1024 * 1024 # 1Mb + module.exports = DocumentUpdaterController = # DocumentUpdaterController is responsible for updates that come via Redis # Pub/Sub from the document updater. @@ -13,6 +15,8 @@ module.exports = DocumentUpdaterController = DocumentUpdaterController._processMessageFromDocumentUpdater(io, channel, message) _processMessageFromDocumentUpdater: (io, channel, message) -> + if message.length > MESSAGE_SIZE_LOG_LIMIT + logger.log {length: message.length, head: message.slice(0,200)}, "large message from doc updater" message = JSON.parse message if message.op? DocumentUpdaterController._applyUpdateFromDocumentUpdater(io, message.doc_id, message.op) diff --git a/services/real-time/app/coffee/WebsocketLoadBalancer.coffee b/services/real-time/app/coffee/WebsocketLoadBalancer.coffee index 38a1029d83..4635a42256 100644 --- a/services/real-time/app/coffee/WebsocketLoadBalancer.coffee +++ b/services/real-time/app/coffee/WebsocketLoadBalancer.coffee @@ -12,11 +12,12 @@ module.exports = WebsocketLoadBalancer = if !room_id? logger.warn {message, payload}, "no room_id provided, ignoring emitToRoom" return - logger.log {room_id, message, payload}, "emitting to room" - @rclientPub.publish "editor-events", JSON.stringify + data = JSON.stringify room_id: room_id message: message payload: payload + logger.log {room_id, message, payload, length: data.length}, "emitting to room" + @rclientPub.publish "editor-events", data emitToAll: (message, payload...) -> @emitToRoom "all", message, payload...