Derecho-Project / derecho

The main code repository for the Derecho project.
BSD 3-Clause "New" or "Revised" License
182 stars 46 forks source link

External clients graceful exit #266

Closed tgarr closed 7 months ago

tgarr commented 7 months ago

This fixes Cascade Issue #54. In the current Derecho implementation, the external client leaves brutally without notifying the Derecho group member. This causes a command line client (like in Cascade) to freeze when it quickly tries to connect again (e.g. due to the following command invocation).

The solution is a graceful exit procedure for a leaving external client. It not only solves the above issue but also gets rid of the annoying error messages. This PR does the following:

I tested this solution with TCP and RDMA, using the Cascade Python and C clients.

tgarr commented 7 months ago

@songweijia I just pushed the small fixes we discussed.