Просмотр исходного кода

Merge pull request #5819 from overleaf/jpa-chat-race

[chat] fix race condition of concurrent delete operations

GitOrigin-RevId: 149c5121791af54cd6c27c3458d81641fb522b3d
Jakob Ackermann 4 лет назад
Родитель
Сommit
05cb9c49bf
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      services/chat/app/js/Features/Threads/ThreadManager.js

+ 4 - 4
services/chat/app/js/Features/Threads/ThreadManager.js

@@ -47,15 +47,15 @@ module.exports = ThreadManager = {
       }
       }
     }
     }
 
 
-    db.rooms.updateOne(
+    db.rooms.findOneAndUpdate(
       query,
       query,
       { $set: update },
       { $set: update },
-      { upsert: true },
-      function (error) {
+      { upsert: true, returnDocument: 'after' },
+      function (error, result) {
         if (error != null) {
         if (error != null) {
           return callback(error)
           return callback(error)
         }
         }
-        db.rooms.findOne(query, callback)
+        callback(null, result.value)
       }
       }
     )
     )
   },
   },