Network message should not have to wait for a lock on Node before being Acknowledged · Issue #2750 · Zilliqa/zq2 · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue happened because incoming network messages have to wait for Node to become available, and if it doesnt become available in 10s then the request times out.
Do one of the following:
Multi-thread Node tasks so that they do not block eachother
Setup a queue and Acknowledge network messages immediately, rather than waiting on Node lock
The text was updated successfully, but these errors were encountered:
The other thing that was suggested last time was to move the lock lower down, instead of locking out the entire Node for every single thing.
For example, many/most RPC calls would probably be safe to call w/o the node lock since they can rely on the underlying DB locks for data consistency.
Alternatively, we can change the queue strategy so they are queued by message types such that the order is not entirely dependent on the order they were received but also the type of message e.g.
current situation:
request queue (nearly everything)
broadcast queue (mainly transactions)
future situation:
proposal queue
newview queue
transaction queue
etc
This mitigates the head-of-line blocking issue; and also allows us to prioritise certain types of messages if needed.
This issue happened because incoming network messages have to wait for
Node
to become available, and if it doesnt become available in 10s then the request times out.Do one of the following:
Node
tasks so that they do not block eachotherNode
lockThe text was updated successfully, but these errors were encountered: