Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-16339

Updating by _id field with a regex breaks replication in 2.4

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.4.12
    • Component/s: Replication
    • Labels:
      None
    • ALL
    • Hide
      var date = new ISODate()
      db.test.insert( { _id : "A", date : new ISODate() } )
      db.test.update( { _id : /[A-Z]/, date : { $lte : date } }, { $set : { date : date } }, { multi : true, upsert : true } )
      
      Show
      var date = new ISODate() db.test.insert( { _id : "A" , date : new ISODate() } ) db.test.update( { _id : /[A-Z]/, date : { $lte : date } }, { $set : { date : date } }, { multi : true , upsert : true } )

      Appears to be an unresolved issue that was previously expected fixed in SERVER-9502.

      The following steps will cause Secondaries to fail:

      var date = new ISODate()
      db.test.insert( { _id : "A", date : new ISODate() } )
      db.test.update( { _id : /[A-Z]/, date : { $lte : date } }, { $set : { date : date } }, { multi : true, upsert : true } )
      

      Error from Secondaries:

      Thu Nov 27 10:29:38.488 [repl writer worker 1] ERROR: writer worker caught exception: cannot change _id of a document old:{ _id: "A", date: new Date(1417044555726) } new:{ _id: /[A-Z]/, date: new Date(1417044555721) } on: { ts: Timestamp 1417044578000|1, h: 8883000633175610356, v: 2, op: "i", ns: "test.test", o: { _id: /[A-Z]/, date: new Date(1417044555721) } }
      Thu Nov 27 10:29:38.489 [repl writer worker 1]   Fatal Assertion 16360
      0x1004520cb 0x10042b2e7 0x10034134f 0x1004326f8 0x100484c65 0x7fff8c0b62fc 0x7fff8c0b6279 0x7fff8c0b44b1
       0   mongod                              0x00000001004520cb _ZN5mongo15printStackTraceERSo + 43
       1   mongod                              0x000000010042b2e7 _ZN5mongo13fassertFailedEi + 151
       2   mongod                              0x000000010034134f _ZN5mongo7replset14multiSyncApplyERKSt6vectorINS_7BSONObjESaIS2_EEPNS0_8SyncTailE + 271
       3   mongod                              0x00000001004326f8 _ZN5mongo10threadpool6Worker4loopEv + 138
       4   mongod                              0x0000000100484c65 thread_proxy + 229
       5   libsystem_pthread.dylib             0x00007fff8c0b62fc _pthread_body + 131
       6   libsystem_pthread.dylib             0x00007fff8c0b6279 _pthread_body + 0
       7   libsystem_pthread.dylib             0x00007fff8c0b44b1 thread_start + 13
      Thu Nov 27 10:29:38.491 [repl writer worker 1]
      
      ***aborting after fassert() failure
      
      
      Thu Nov 27 10:29:38.492 Got signal: 6 (Abort trap: 6).
      
      Thu Nov 27 10:29:38.494 Backtrace:
      0x1004520cb 0x1000016b1 0x7fff85f06f1a 0x5 0x7fff844bfb73 0x10042b325 0x10034134f 0x1004326f8 0x100484c65 0x7fff8c0b62fc 0x7fff8c0b6279 0x7fff8c0b44b1
       0   mongod                              0x00000001004520cb _ZN5mongo15printStackTraceERSo + 43
       1   mongod                              0x00000001000016b1 _ZN5mongo10abruptQuitEi + 225
       2   libsystem_platform.dylib            0x00007fff85f06f1a _sigtramp + 26
       3   ???                                 0x0000000000000005 0x0 + 5
       4   libsystem_c.dylib                   0x00007fff844bfb73 abort + 129
       5   mongod                              0x000000010042b325 _ZN5mongo13fassertFailedEi + 213
       6   mongod                              0x000000010034134f _ZN5mongo7replset14multiSyncApplyERKSt6vectorINS_7BSONObjESaIS2_EEPNS0_8SyncTailE + 271
       7   mongod                              0x00000001004326f8 _ZN5mongo10threadpool6Worker4loopEv + 138
       8   mongod                              0x0000000100484c65 thread_proxy + 229
       9   libsystem_pthread.dylib             0x00007fff8c0b62fc _pthread_body + 131
       10  libsystem_pthread.dylib             0x00007fff8c0b6279 _pthread_body + 0
       11  libsystem_pthread.dylib             0x00007fff8c0b44b1 thread_start + 13
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            andre.defrere@mongodb.com Andre de Frere
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: