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

Under cache-full conditions serverStatus can become stuck

    • Fully Compatible
    • ALL

      This is a spinoff from SERVER-20876. In that ticket we saw in cache full condtions that serverStatus became stuck in this stack trace:

      Thread 17 (Thread 0x7f58d3df9700 (LWP 7721)):
      #0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
      #1  0x0000000001366e61 in __wt_cond_wait ()
      #2  0x000000000134cfa7 in __wt_cache_wait ()
      #3  0x000000000139312d in ?? ()
      #4  0x0000000000d7c6ad in mongo::WiredTigerRecoveryUnit::_txnOpen(mongo::OperationContext*) ()
      #5  0x0000000000d7c7ef in mongo::WiredTigerRecoveryUnit::getSession(mongo::OperationContext*) ()
      #6  0x0000000000d8020b in mongo::WiredTigerServerStatusSection::generateSection(mongo::OperationContext*, mongo::BSONElement const&) const ()
      #7  0x0000000000974e49 in mongo::CmdServerStatus::run(mongo::OperationContext*, std::string const&, mongo::BSONObj&, int, std::string&, mongo::BSONObjBuilder&, bool) ()
      #8  0x00000000009bdc64 in mongo::_execCommand(mongo::OperationContext*, mongo::Command*, std::string const&, mongo::BSONObj&, int, std::string&, mongo::BSONObjBuilder&, bool) ()
      #9  0x00000000009bebed in mongo::Command::execCommand(mongo::OperationContext*, mongo::Command*, int, char const*, mongo::BSONObj&, mongo::BSONObjBuilder&, bool) ()
      #10 0x00000000009bf8fb in mongo::_runCommands(mongo::OperationContext*, char const*, mongo::BSONObj&, mongo::_BufBuilder<mongo::TrivialAllocator>&, mongo::BSONObjBuilder&, bool, int) ()
      #11 0x0000000000b9340a in mongo::runQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::NamespaceString const&, mongo::CurOp&, mongo::Message&) ()
      #12 0x0000000000aa3480 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&) ()
      #13 0x00000000007e99fd in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) ()
      #14 0x0000000000f1badb in mongo::PortMessageServer::handleIncomingMsg(void*) ()
      #15 0x00007f58d99c6182 in start_thread (arg=0x7f58d3df9700) at pthread_create.c:312
      #16 0x00007f58d8ac747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
      

      This means that unfortunately no useful diagnostic data could be collected after the cache became full. Ideally serverStatus should succeed regardless of the state of the WT cache.

            Assignee:
            david.hows David Hows
            Reporter:
            bruce.lucas@mongodb.com Bruce Lucas (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: