This repository was archived by the owner on Nov 2, 2021. It is now read-only.
This repository was archived by the owner on Nov 2, 2021. It is now read-only.
Open
Description
Under load, the RVI deadlocks in several instances when Component A calls Component B, while Component B calls Component A.
An example is service_edge_rpc's handle_remote_message(), called by protocol_rpc, which can be blocked if, at the same time the service_edge_rpc is currently processing a handle_local_message gen_server call which is indirectly calling protocol. The to call chains will, in this event, be blocked.
The solution is to replace synchronous calls (gen_server:call()), with asynchronous notifications (gen_server:cast()) that do not wait for a return value before continuing operations.
WIll be fixed in the gen_server_fix feature branch and 0.3.2
Metadata
Metadata
Assignees
Labels
No labels