Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-59750

Some commands are still sent to JS evaluator C++ layer even after it fails

    XMLWordPrintable

Details

    • Untriaged
    • 0
    • Unknown

    Description

      When the new C++ layer is starting up, some JS Evaluator commands still pass through, send the command to the now exited C++ layer, and wait for a response.

      Due to this, those commands leak and stay hung forever.

      Note: These commands are waiting on the old C++ layer, which is already exited.

       

      One promising approach is to use an atomic counter to keep track of goroutines that have passed through despite the C++ layer failing. Only after all those goroutines have registered on their waiters for a response from the (now defunct) C++ layer we will go ahead and unblock/fail them.

      Note: The idea of "registering their waiter" is implemented as the goroutines adding an entry into the waiter map.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              abhishek.jindal Abhishek Jindal
              rishit.chaudhary Rishit Chaudhary
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty