[SERVER-29502] Require the vote from the current primary in the election dry-run of catchup takeover Created: 07/Jun/17  Updated: 30/Oct/23  Resolved: 07/Aug/17

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

Type: Task Priority: Major - P3
Reporter: Siyuan Zhou Assignee: Samyukta Lanka
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-55465 Fix Invariant upon failed request for... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2017-08-21
Participants:

 Comments   
Comment by Siyuan Zhou [ 07/Aug/17 ]

max.hirschhorn, thanks for the detailed investigation. I fixed the issue as you suggested. The patch build looks good, so I pushed the patch again.

Comment by Githook User [ 07/Aug/17 ]

Author:

{'username': 'visualzhou', 'email': 'siyuan.zhou@mongodb.com', 'name': 'Siyuan Zhou'}

Message: SERVER-29502 Require the vote from the current primary in the dry run for catchup takeover

This reverts commit 1ba6539b20a55378b4ecab2ab4f9281db25bc313.
Branch: master
https://github.com/mongodb/mongo/commit/d90fcb7446cd6b68273f588c67a41b98d5c38268

Comment by Max Hirschhorn [ 04/Aug/17 ]

Reverted due to the Evergreen failures on --dbg=on builders. This task failure shows that the VoteRequester::Algorithm::_primaryHost instance isn't initialized (i.e. it equals boost::none). Based on this section of Boost's documentation, I suspect you can get away with changing the comparison to be _primaryHost == request.target and avoid calling get() on an optional that isn't engaged.

[js_test:minvalid2] 2017-08-04T19:22:42.388+0000 d20511| Assertion failed: this->is_initialized(), file C:\data\mci\f81656682f86a1e1b5aa24b9afd49bbb\src\src\third_party\boost-1.60.0\boost/optional/optional.hpp, line 1025
[js_test:minvalid2] 2017-08-04T19:22:42.568+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\util\stacktrace_windows.cpp(239)                                   mongo::printStackTrace+0x43
[js_test:minvalid2] 2017-08-04T19:22:42.568+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\util\signal_handlers_synchronous.cpp(182)                          mongo::`anonymous namespace'::printSignalAndBacktrace+0x73
[js_test:minvalid2] 2017-08-04T19:22:42.568+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\util\signal_handlers_synchronous.cpp(238)                          mongo::`anonymous namespace'::abruptQuit+0x83
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    d:\th\minkernel\crts\ucrt\src\appcrt\misc\signal.cpp(522)                        raise+0x468
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    d:\th\minkernel\crts\ucrt\src\appcrt\startup\abort.cpp(71)                       abort+0x39
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    d:\th\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(150)                     common_assert_to_stderr<wchar_t>+0xbf
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    d:\th\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(383)                     common_assert<wchar_t>+0x68
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    d:\th\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp(405)                     _wassert+0x2f
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\db\repl\vote_requester.cpp(107)                                    mongo::repl::VoteRequester::Algorithm::processResponse+0x19f
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\db\repl\scatter_gather_runner.cpp(146)                             mongo::repl::ScatterGatherRunner::RunnerImpl::processResponse+0x2c8
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.568+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\executor\thread_pool_task_executor.cpp(351)                        mongo::executor::`anonymous namespace'::remoteCommandFinished+0x5c
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\executor\thread_pool_task_executor.cpp(550)                        mongo::executor::ThreadPoolTaskExecutor::runCallback+0x20f
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional(214)   std::_Func_impl<<lambda_fd72d344d6cb81d1a43b54487a279e4d>,std::allocator<int>,void>::_Do_call+0x3c
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\util\concurrency\thread_pool.cpp(330)                              mongo::ThreadPool::_doOneTask+0x1af
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\util\concurrency\thread_pool.cpp(281)                              mongo::ThreadPool::_consumeTasks+0x383
[js_test:minvalid2] 2017-08-04T19:22:42.569+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    ...\src\mongo\util\concurrency\thread_pool.cpp(229)                              mongo::ThreadPool::_workerThreadBody+0x1cf
[js_test:minvalid2] 2017-08-04T19:22:42.571+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread(247)  std::_LaunchPad<std::unique_ptr<std::tuple<std::_Binder<std::_Unforced,void (__cdecl*)(mongo::ThreadPool * __ptr64,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64),mongo::ThreadPool * __ptr64 const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64> >,std::default_delete<std::tuple<std::_Binder<std::_Unforced,void (__cdecl*)(mongo::ThreadPool * __ptr64,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64),mongo::ThreadPool * __ptr64 const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64> > > > >::_Run+0x73
[js_test:minvalid2] 2017-08-04T19:22:42.571+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread(210)  std::_Pad::_Call_func+0x9
[js_test:minvalid2] 2017-08-04T19:22:42.571+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(92)                      invoke_thread_procedure+0x2c
[js_test:minvalid2] 2017-08-04T19:22:42.571+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] mongod.exe    d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(115)                     thread_start<unsigned int (__cdecl*)(void * __ptr64)>+0x93
[js_test:minvalid2] 2017-08-04T19:22:42.571+0000 d20511| 2017-08-04T19:22:42.569+0000 I CONTROL  [replexec-2] kernel32.dll                                                                                   BaseThreadInitThunk+0xd
[js_test:minvalid2] 2017-08-04T19:22:42.571+0000 d20511| 2017-08-04T19:22:42.569+0000 F -        [replexec-2] Got signal: 22 (SIGABRT).
[js_test:minvalid2] 2017-08-04T19:22:42.571+0000 d20511| 2017-08-04T19:22:42.570+0000 I CONTROL  [replexec-2] *** unhandled exception 0x0000000E at 0x000007FEFD01A06D, terminating

Comment by Githook User [ 04/Aug/17 ]

Author:

{'username': 'visemet', 'email': 'max.hirschhorn@mongodb.com', 'name': 'Max Hirschhorn'}

Message: Revert "SERVER-29502 Require the vote from the current primary in the dry run for catchup takeover"

This reverts commit fa70f68f5bfcc2a001d3f9012dff80dd2d41c9f1.
Branch: master
https://github.com/mongodb/mongo/commit/1ba6539b20a55378b4ecab2ab4f9281db25bc313

Comment by Githook User [ 04/Aug/17 ]

Author:

{'username': 'lankas', 'email': 'samy.lanka@10gen.com', 'name': 'Samy Lanka'}

Message: SERVER-29502 Require the vote from the current primary in the dry run for catchup takeover
Branch: master
https://github.com/mongodb/mongo/commit/fa70f68f5bfcc2a001d3f9012dff80dd2d41c9f1

Generated at Thu Feb 08 04:21:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.