Details
-
Bug
-
Resolution: Unresolved
-
Major - P3
-
None
-
None
-
None
-
Service Arch
-
ALL
-
48
Description
While analyzing tickets SERVER-62402, SERVER-63198 and BF-24143. I can consistently reproduce the scenario where few operations hang at mongo::CappedInsertNotifier::waitUntil by running jstests/replsets/force_shutdown_primary.js and setting an overall shutdown timeout shorter than 30 seconds.
Here's a stacktrace from one of these threads:
(gdb) t 76 [Switching to thread 76 (Thread 0x7f0d29391700 (LWP 29864))]
|
#0 0x00007f0d7c915065 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
|
(gdb) bt
|
#0 0x00007f0d7c915065 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
|
#1 0x00007f0d7e1d81e5 in __gthread_cond_timedwait (__cond=0x7f0d4a7b1030, __mutex=0x7f0d5279f0b0, __abs_timeout=0x7f0d2938bb20) at /opt/mongodbtoolchain/revisions/97dc5840fc91c99e296fb3406abb87
|
07f4c2ccc3/stow/gcc-v3.Kbm/lib/gcc/x86_64-mongodb-linux/8.5.0/../../../../include/c++/8.5.0/x86_64-mongodb-linux/bits/gthr-default.h:871
|
#2 0x00007f0d7e204476 in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x7f0d4a7b1030, __lock=..., __atime=...) at /opt/mongodbtoo
|
lchain/revisions/97dc5840fc91c99e296fb3406abb8707f4c2ccc3/stow/gcc-v3.Kbm/lib/gcc/x86_64-mongodb-linux/8.5.0/../../../../include/c++/8.5.0/condition_variable:178
|
#3 0x00007f0d7e2043c5 in std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x7f0d4a7b1030, __lock=..., __atime=...) at /opt/mongodbtoolchain/
|
revisions/97dc5840fc91c99e296fb3406abb8707f4c2ccc3/stow/gcc-v3.Kbm/lib/gcc/x86_64-mongodb-linux/8.5.0/../../../../include/c++/8.5.0/condition_variable:106
|
#4 0x00007f0d7b3d69cc in std::_V2::condition_variable_any::wait_until<std::unique_lock<mongo::latch_detail::Latch>, std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 10
|
00000000l> > > (this=0x7f0d4a7b1030, __lock=..., __atime=...) at /opt/mongodbtoolchain/revisions/97dc5840fc91c99e296fb3406abb8707f4c2ccc3/stow/gcc-v3.Kbm/lib/gcc/x86_64-mongodb-linux/8.5.0/../..
|
/../../include/c++/8.5.0/condition_variable:286
|
#5 0x00007f0d648b28ff in mongo::CappedInsertNotifier::waitUntil (this=0x7f0d4a7b1030, prevVersion=23, deadline=...) at src/mongo/db/catalog/collection.cpp:53
|