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

Certain operations are taking more than 10 seconds to interrupt

    • Server Programmability
    • ALL
    • 48

      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
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            daniel.morilha@mongodb.com Daniel Morilha (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: