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

Fix the mismatch between registering operations under the JS engine and their interruptibility

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Query Integration

      Currently, upon start-up of mongod, a global instance of JS script engine is registered as a KillOpListener (i.e., to be called upon a kill operation or interruption) here.

      Then, if an interruption happens, the MozJSScriptEngine::interrupt method is called. In this method, we check the operation-to-scope dictionary (in here) to find the scope responsible for the given operation. If the scope mapped to this operation is not found, we create a level-2 debug message (in here).

      Given that not all operations are registered under the JS Engine, we have two action items:

      1. Check it's OK that not all operations are registered under the JS Engine. The answer to this item is probably "Yes, it's OK", as not all operations need interaction with the JS engine.
      2. If it's OK not to register all operations under the JS engine, then we need to either completely drop these log messages (i.e., by removing these lines), or increase the debug level of these log messages to the max level. Otherwise, these messages will create an awful pollution of debug-level 2.

            backlog-query-integration [DO NOT USE] Backlog - Query Integration
            mohammad.dashti@mongodb.com Mohammad Dashti (Inactive)
            0 Vote for this issue
            5 Start watching this issue