Summary: Before I wrongly assumed `Shutdown` will always be called on Cursors and removed BFS subcursors there. Now it is done using transactional cache clean-up mechanism. There's a separate clean-up for `BfsSubcursorStorage` (for actual subcursors) and `BfsRpcServer` (for database accessors created by the server). I've changed `BfsRpcServer` to have a `GraphDbAccessor` per transaction, instead of per `BfsSubcursor`. Mainly because there is no reliable way to check if the transaction tied to the accessor has expired as it is not safe to call `transaction_id` method (since `GraphDbAccessor` is holding only a reference to `Transaction` object). Reviewers: teon.banek, mferencevic Reviewed By: teon.banek Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1792 |
||
---|---|---|
.. | ||
distributed | ||
single_node | ||
single_node_ha | ||
graph_db_accessor.hpp | ||
graph_db.hpp |