memgraph/tests
florijan 95f1b6fe56 Fix remote plan invalidation
Summary:
Ensures that query plans are invalidated on the remote only when it's
guaranteed they will never be used on the master. This is done by
invalidating remote caches in the `CachedPlan` destructor.

There are two unplesant side-effects. First, an RPC call is made in an
object destructor. This is somewhat ugly, but not that different then
making an RPC call that must succeed in any other function. Note that
this does NOT slow down any query execution because the relevant
destructor is called by the skiplist garbage collector. The second ugly
side-effect is that in the unit test now we need to sleep to ensure the
skiplist GC destructs a cached plan before checking that it's
invalidated on the remote worker.

We might want to redesign this at some point.

Reviewers: teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1302
2018-03-16 11:18:16 +01:00
..
benchmark Invalidate distributed plan caches 2018-03-13 14:59:51 +01:00
concurrent Add thread names 2018-02-23 16:04:49 +01:00
distributed add strata v1 scenario 2018-03-06 11:20:39 +01:00
drivers Add C# driver test examples 2017-11-10 15:46:56 +01:00
macro_benchmark Add deletion, more stats to card fraud and RWLock 2018-03-14 16:23:23 +01:00
manual Fix remote plan invalidation 2018-03-16 11:18:16 +01:00
property_based Refactor GraphDb 2018-01-12 16:47:24 +01:00
public_benchmark Change Apollo slave groups 2018-02-25 23:02:31 +01:00
qa Move TED talk examples to another suite in QA 2018-02-27 19:19:42 +01:00
stress Change Apollo slave groups 2018-02-25 23:02:31 +01:00
unit Fix remote plan invalidation 2018-03-16 11:18:16 +01:00
apollo_runs.py Increase concurrent tests timeout 2018-02-19 11:08:59 +01:00
client-stress.sh Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00
CMakeLists.txt Inline test data in the benchmark tests itself 2018-01-15 16:12:30 +01:00