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

WritebackListener thread can die while handling exceptions

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 2.3.1
    • Fix Version/s: 2.2.5, 2.3.2
    • Component/s: Sharding
    • Labels:
      None
    • Operating System:
      ALL

      Description

      Problem code:

                  catch ( std::exception& e ) {
       
                      if ( inShutdown() ) {
                          // we're shutting down, so just clean up
                          return;
                      }
       
                      log() << "WriteBackListener exception : " << e.what() << endl;
       
                      // It's possible this shard was removed
                      Shard::reloadShardInfo();
                  }

      Note that reloadShardInfo can also throw exceptions and since it is not handled in the run method, the writeback listener thread would just terminate. Sample scenarios that reloadShardInfo can throw is when config servers are unreachable.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              renctan Randolph Tan
              Reporter:
              renctan Randolph Tan
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: