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

Fix corner cases in migrate abort

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.7.2
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • ALL

      Two action items here.

      a) The stack below.
      Stack is on LInux 64 bits nIghly 2010-10-19

      > Tue Oct 19 18:48:05 [conn814] getmore local.oplog.rs
      > cid:6071923066164747761 getMore: { ts:

      { $gte: new > Date(5529825884577464363) }

      } bytes:20 nreturned:0 3156ms
      > Tue Oct 19 18:48:08 [conn3309] MessagingPort say send() errno:32
      > Broken pipe xxx :27019
      > Tue Oct 19 18:48:08 [conn3309] MessagingPort say send() errno:32
      > Broken pipe xxx :27019
      > Tue Oct 19 18:48:08 terminate() called, printing stack:
      > 0x84f1de 0x3f81abcdb6 0x3f81abc16b 0x3f81abcc43 0x3f7d208978
      > 0x3f7d208cea 0x828259 0x83545d 0x7a1f33 0x7a391a 0x60c105 0x61030f
      > 0x71b99a 0x721267 0x852659 0x865ac0 0x3f7b60673d 0x3f7aad3d1d
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo11myterminateEv+0x4e) [0x84f1de]
      > /usr/lib64/libstdc++.so.6 [0x3f81abcdb6]
      > /usr/lib64/libstdc++.so.6 [0x3f81abc16b]
      > /usr/lib64/libstdc++.so.6(__gxx_personality_v0+0x353) [0x3f81abcc43]
      > /lib64/libgcc_s.so.1 [0x3f7d208978]
      > /lib64/libgcc_s.so.1(_Unwind_Resume+0x9a) [0x3f7d208cea]
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo16MoveTimingHelperD1Ev+0x169)
      > [0x828259]
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo16MoveChunkCommand3runERKSsRNS_7BSONObjERSsRNS_14BSONObjBuilderEb+0x541d)
      > [0x83545d]
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo11execCommandEPNS_7CommandERNS_6ClientEiPKcRNS_7BSONObjERNS_14BSONObjBuilderEb+0x5a3)
      > [0x7a1f33]
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo12_runCommandsEPKcRNS_7BSONObjERNS_10BufBuilderERNS_14BSONObjBuilderEbi+0x7da)
      > [0x7a391a]
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo11runCommandsEPKcRNS_7BSONObjERNS_5CurOpERNS_10BufBuilderERNS_14BSONObjBuilderEbi+0x35)
      > [0x60c105]
      > /home/david/mongodb/latest/bin/mongod(ZN5mongo8runQueryERNS_7MessageERNS_12QueryMessageERNS_5CurOpES1+0x34cf)
      > [0x61030f]
      > /home/david/mongodb/latest/bin/mongod [0x71b99a]
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERKNS_8SockAddrE+0x12d7)
      > [0x721267]
      > /home/david/mongodb/latest/bin/mongod(_ZN5mongo10connThreadEPNS_13MessagingPortE+0x299)
      > [0x852659]
      > /home/david/mongodb/latest/bin/mongod(thread_proxy+0x80) [0x865ac0]
      > /lib64/libpthread.so.0 [0x3f7b60673d]
      > /lib64/libc.so.6(clone+0x6d) [0x3f7aad3d1d]
      > Tue Oct 19 18:48:08 Got signal: 6 (Aborted).

      b) a consequence of that stack, if it happens in the receiver shard, is that the donnor might have updated its global state on s/d_migrate.cpp, comment 5.a. shardingState must be reverted if migrate aborts

            Assignee:
            alerner Alberto Lerner
            Reporter:
            alerner Alberto Lerner
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: