Closed nemanja-boric-sociomantic closed 6 years ago
Blocked on testing.
This is causing the segmentation fault: AFAICS - issuing a signal causes the context switch, that kills the entire request, and then the control is back to the Epoll context where the entire request object is destroyed). I need to somehow just to queue the signal and not to dispatch it immediately it seems.
Simple Yield
does the trick!
Unblocked!
nemanjaboric@labs-129:/home/nemanjaboric/work/tsunami/dlsproto-1 git:(neotest*) $ build/last/bin/neotest getrange
Connected. Let's Go...................................................................
Starting GetRange = 1...
RED.eventLoop nr 0
****** STOPPING **** 1
Called stop.
Setting stop message timeout to: 30
// after 30s
FIRING DELEGATE
Force stop!
Got TimeoutSignal
Yes it is TimeoutSignal, stopping the record stream
GetRange test stopped on all nodes.
Squashed everything.
Updated and rebased.
Feel free to auto-merge when green.
Thanks! Updated cachalot version to v3, should be fine now.
GetRange may be constantly held in the position where the node doesn't acknowledge the sent Stop control message. To prevent locking, GetRange now waits for up to 60 seconds before proceeding, no matter what the node said.