53c405c699
Summary: This diff changes the RPC layer to directly return `TResponse` to the user when issuing a `Call<...>` RPC call. The call throws an exception on failure (instead of the previous return `nullopt`). All servers (network, RPC and distributed) are set to have explicit `Shutdown` methods so that a controlled shutdown can always be performed. The object destructors now have `CHECK`s to enforce that the `AwaitShutdown` methods were called. The distributed memgraph is changed that none of the binaries (master/workers) crash when there is a communication failure. Instead, the whole cluster starts a graceful shutdown when a persistent communication error is detected. Transient errors are allowed during execution. The transaction that errored out will be aborted on the whole cluster. The cluster state is managed using a new Heartbeat RPC call. Reviewers: buda, teon.banek, msantl Reviewed By: teon.banek Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1604 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
common.hpp | ||
dynamic_bitset_clear_n.cpp | ||
dynamic_bitset_set_n.cpp | ||
dynamic_bitset_set.cpp | ||
dynamic_bitset.cpp | ||
futex.cpp | ||
network_common.hpp | ||
network_read_hang.cpp | ||
network_server.cpp | ||
network_session_leak.cpp | ||
push_queue.cpp | ||
sl_hang.cpp | ||
sl_insert_competetive.cpp | ||
sl_insert.cpp | ||
sl_map.cpp | ||
sl_memory_leak.cpp | ||
sl_memory.cpp | ||
sl_remove_competetive.cpp | ||
sl_remove_disjoint.cpp | ||
sl_remove_joint.cpp | ||
sl_set.cpp | ||
sl_simulation.cpp | ||
spinlock.cpp |