memgraph/tests/unit
florijan 9721ccf61c Cleanup per-transaction caches in distributed
Summary:
On the master cleanups are hooked directly into the transaction engine.
This is beneficial because the master might have bigger caches and we
want to clear them as soon as possible.

On the workers there is a periodic RPC call to the master about living
transactions, which takes care of releasing local caches. This is
suboptimal because long transactions will prevent cache GC (like with
data GC). It is however fairly simple.

Note that all cleanup is not done automatically and `RemotePull` has
been reduced accordingly. @msantl, please verify correctness and
consider if the code can be additionally simplified.

Reviewers: teon.banek, msantl

Reviewed By: msantl

Subscribers: pullbot, msantl

Differential Revision: https://phabricator.memgraph.io/D1202
2018-02-16 15:30:05 +01:00
..
bolt_buffer.cpp Use GLogger instead of broken memgraph Logger. 2017-06-21 15:33:24 +02:00
bolt_chunked_decoder_buffer.cpp Fixed bolt decoder chunked buffer implementation. 2017-09-06 13:19:42 +02:00
bolt_chunked_encoder_buffer.cpp Fixed bolt chunked encoder buffer for big data. 2017-09-06 15:36:24 +02:00
bolt_common.hpp Improve network performance 2018-01-25 14:04:02 +01:00
bolt_decoder.cpp First version of bolt cpp client. 2017-08-24 17:44:44 +02:00
bolt_encoder.cpp Refactor GraphDb 2018-01-12 16:47:24 +01:00
bolt_result_stream.cpp Use GLogger instead of broken memgraph Logger. 2017-06-21 15:33:24 +02:00
bolt_session.cpp RPC refactor 2018-01-24 15:27:40 +01:00
bolt_testdata.hpp Removed large bolt encoder test to reduce runtime. 2017-05-03 14:50:02 +02:00
CMakeLists.txt Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
concurrent_id_mapper_distributed.cpp RPC refactor 2018-01-24 15:27:40 +01:00
concurrent_id_mapper_single_node.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
concurrent_list.cpp clang format has been run on all hpp and cpp files under src and tests 2017-02-18 11:54:37 +01:00
concurrent_map_access.cpp Const map/set iteration. 2017-10-12 16:35:39 +02:00
concurrent_map.cpp Remove traces of custom assert 2017-10-13 09:34:13 +02:00
concurrent_set.cpp Remove traces of custom assert 2017-10-13 09:34:13 +02:00
counters.cpp RPC refactor 2018-01-24 15:27:40 +01:00
cypher_main_visitor.cpp Add SINGLE function to openCypher 2018-02-13 17:30:44 +01:00
database_key_index.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
database_label_property_index.cpp Support distributed (label, property) indexes 2018-01-25 18:08:04 +01:00
database_master.cpp Add database master test 2018-01-19 14:52:05 +01:00
database_transaction_timeout.cpp Refactor GraphDb 2018-01-12 16:47:24 +01:00
datastructure_union_find.cpp Add parallel customers/Otto test 2017-11-23 09:20:53 +01:00
deferred_deleter.cpp Make gc more aggressive and optimise is_not_visible function 2017-10-06 10:07:55 +02:00
distributed_common.hpp Extract address types 2018-02-15 17:31:10 +01:00
distributed_coordination.cpp RPC refactor 2018-01-24 15:27:40 +01:00
distributed_data_exchange.cpp Implement sync operator 2018-02-14 13:03:18 +01:00
distributed_graph_db.cpp Cleanup per-transaction caches in distributed 2018-02-16 15:30:05 +01:00
distributed_interpretation.cpp Fix RemotePull infinite loop when all workers don't have results 2018-02-08 16:29:34 +01:00
distributed_serialization.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
distributed_updates.cpp Cleanup per-transaction caches in distributed 2018-02-16 15:30:05 +01:00
durability.cpp Refactor database::StateDelta 2018-02-02 11:44:03 +01:00
dynamic_bitset.cpp Newer bits on head chunk in DynamicBitset 2017-09-20 16:56:58 +02:00
exceptions.cpp Merge utils/exceptions into single file 2017-04-20 16:53:21 +02:00
executor.cpp Remove executor not run option 2017-12-18 14:36:15 +01:00
gid.cpp Change gid bit size 2017-12-28 11:04:52 +01:00
graph_db_accessor_index_api.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
graph_db_accessor.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
graph_db.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
interpreter.cpp Add ExpandWeightedShortestPathCursor 2018-02-14 09:32:41 +01:00
metrics.cpp Add some metric types and basic RPC server stats 2018-02-16 08:33:15 +01:00
mvcc_find_update_common.hpp Extract tx::SingleNodeEngine from tx::MasterEngine 2018-01-11 15:44:42 +01:00
mvcc_find.cpp GC bugfixes, MVCC and transaction refactoring 2017-06-12 10:46:12 +02:00
mvcc_gc_common.hpp Extract tx::SingleNodeEngine from tx::MasterEngine 2018-01-11 15:44:42 +01:00
mvcc_gc.cpp Extract tx::SingleNodeEngine from tx::MasterEngine 2018-01-11 15:44:42 +01:00
mvcc_one_transaction.cpp Fix mvcc tests 2017-10-19 12:58:23 +02:00
mvcc_parallel_update.cpp Fix mvcc tests 2017-10-19 12:58:23 +02:00
mvcc.cpp Extract tx::SingleNodeEngine from tx::MasterEngine 2018-01-11 15:44:42 +01:00
network_endpoint.cpp Rename NetworkEndpoint 2018-01-15 15:47:37 +01:00
network_timeouts.cpp Rename NetworkEndpoint 2018-01-15 15:47:37 +01:00
property_value_store.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
query_common.hpp Add SINGLE function to openCypher 2018-02-13 17:30:44 +01:00
query_cost_estimator.cpp Add ExpandWeightedShortestPathCursor 2018-02-14 09:32:41 +01:00
query_expression_evaluator.cpp Add SINGLE function to openCypher 2018-02-13 17:30:44 +01:00
query_plan_accumulate_aggregate.cpp Migrate db::types to storage:: 2018-01-17 10:35:12 +01:00
query_plan_bag_semantics.cpp Refactor GraphDb 2018-01-12 16:47:24 +01:00
query_plan_common.hpp Add distributed execution RPC 2018-01-25 14:50:28 +01:00
query_plan_create_set_remove_delete.cpp Fix remote pull 2018-02-08 15:00:40 +01:00
query_plan_edge_cases.cpp Refactor GraphDb 2018-01-12 16:47:24 +01:00
query_plan_match_filter_return.cpp Implement Cartesian Cursor 2018-02-16 13:43:12 +01:00
query_planner.cpp Implement sync operator 2018-02-14 13:03:18 +01:00
query_semantic.cpp Add SINGLE function to openCypher 2018-02-13 17:30:44 +01:00
query_variable_start_planner.cpp Add wShortest expansion to openCypher 2018-02-09 11:02:41 +01:00
queue.cpp Add first version of message passing and rpc 2017-12-05 14:51:18 +01:00
raft_storage.cpp Cleanup utils::File API 2018-01-16 15:38:12 +01:00
raft.cpp RPC refactor 2018-01-24 15:27:40 +01:00
record_edge_vertex_accessor.cpp Resolve global address to local 2018-01-26 16:09:19 +01:00
ring_buffer.cpp RingBuffer - buffer on heap instead of stack 2017-11-02 12:07:23 +01:00
rpc.cpp Add support for large messages to RPC 2018-02-16 12:38:31 +01:00
scheduler.cpp Change scheduler to first wait then execute 2017-10-09 15:40:00 +02:00
serialization_optional.cpp Implement vertex/edge serialization 2018-01-10 13:32:18 +01:00
signal_handler.cpp Prevent double termination signals causing crashes 2017-11-09 10:41:16 +01:00
skiplist_access.cpp Const map/set iteration. 2017-10-12 16:35:39 +02:00
skiplist_gc.cpp Remove executor not run option 2017-12-18 14:36:15 +01:00
skiplist_position_and_count.cpp Replace debug_assert, permanent_assert with DCHECK/CHECK 2017-10-11 14:43:32 +02:00
skiplist_reverse_iteration.cpp Logger in this test somehow breaks code coverage. Argh... 2017-04-07 09:44:12 +02:00
skiplist_suffix.cpp Refactor GraphDb 2018-01-12 16:47:24 +01:00
state_delta.cpp Refactor database::StateDelta 2018-02-02 11:44:03 +01:00
static_bitset.cpp Fix tests that expect debug_assert to fail 2017-08-07 16:38:15 +02:00
storage_address.cpp Support snapshot creation and recovery in distributed 2018-01-29 19:16:13 +01:00
stripped.cpp Fix semicolon in column name 2017-12-14 09:44:21 +01:00
timestamp.cpp Add initial version of statsd 2018-02-02 17:02:37 +01:00
transaction_engine_distributed.cpp Cleanup per-transaction caches in distributed 2018-02-16 15:30:05 +01:00
transaction_engine_single_node.cpp Cleanup per-transaction caches in distributed 2018-02-16 15:30:05 +01:00
typed_value.cpp Refactor GraphDb 2018-01-12 16:47:24 +01:00
utils_network.cpp Rename NetworkEndpoint 2018-01-15 15:47:37 +01:00
utils_on_scope_exit.cpp utils::auto_scope refactor 2017-08-11 09:43:10 +02:00
utils_string.cpp Fix durability test flakyness 2017-12-04 13:46:56 +01:00
watchdog.cpp Add Watchdog utility 2017-11-09 11:23:11 +01:00