Details
-
Bug
-
Resolution: Fixed
-
Major
-
Morpheus
-
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
- is duplicated by
-
MB-57855 py-tpcc runs stuck on 7.6.0-1221
- Closed