[SERVER-1974] Fix corner cases in migrate abort Created: 19/Oct/10  Updated: 12/Jul/16  Resolved: 28/Oct/10

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 1.7.2

Type: Bug Priority: Major - P3
Reporter: Alberto Lerner Assignee: Alberto Lerner
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Participants:

 Description   

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



 Comments   
Comment by auto [ 26/Oct/10 ]

Author:

{'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}

Message: SERVER-1974 rollback version if migrate aborts on the TO side
http://github.com/mongodb/mongo/commit/5615486e98aad8859dfbe7b2bb4c8a71fa6cd419

Comment by auto [ 20/Oct/10 ]

Author:

{'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}

Message: SERVER-1974 logChange won't throw
http://github.com/mongodb/mongo/commit/26a7046b24e3b0ed535ea9f513452fcaa7ae39bc

Comment by David Mytton [ 20/Oct/10 ]

Full mongod log is in CS-188 - rs2a-mongod-crash.tar.gz

Generated at Thu Feb 08 02:58:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.