Commit Graph

1278 Commits

Author SHA1 Message Date
Mislav Bradac
3e793fb8ac Add single_create group to harness
Reviewers: mferencevic, buda

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D714
2017-08-28 11:45:12 +02:00
Teon Banek
7fc821ad25 Setup basic interactive planner testing
Summary:
Add basic InteractiveDbAccessor.
Add printing logical operator tree.
Cache some InteractiveDbAccessor vertex counts.

Reviewers: florijan, mislav.bradac, buda

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D707
2017-08-28 10:25:17 +02:00
Mislav Bradac
409c9200e2 Remove unnecessary requirements
Reviewers: mferencevic, buda

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D717
2017-08-28 10:19:14 +02:00
Marko Budiselic
a8e0792609 LDBC
Summary: Add LDBC helper scripts.

Reviewers: teon.banek, mferencevic, mislav.bradac

Reviewed By: teon.banek

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D563
2017-08-28 09:34:22 +02:00
Matej Ferencevic
f677da46ce Added missing build parameter for daily debug.
Reviewers: buda, mislav.bradac

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D718
2017-08-27 16:52:57 +02:00
Goran Zuzic
ac6e08c78e Distributed Memgraph with Reactors (first queries)
Summary:
1. added logging
2. added common transactions
3. added a hardcoded transaction

Reviewers: sasa.stanko

Reviewed By: sasa.stanko

Subscribers: pullbot, buda, lion

Differential Revision: https://phabricator.memgraph.io/D715
2017-08-25 15:26:10 +02:00
Mislav Bradac
7628084ccf Add no-strict option to harness
Reviewers: mferencevic

Reviewed By: mferencevic

Differential Revision: https://phabricator.memgraph.io/D716
2017-08-25 15:07:21 +02:00
Mislav Bradac
148348defa Document string operators
Reviewers: buda, teon.banek

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D712
2017-08-25 14:18:56 +02:00
Matej Ferencevic
a31a628da1 Fixed parent build for new harness client.
Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D713
2017-08-25 14:18:30 +02:00
florijan
ca8fb55ac5 Collect Map added
Summary:
Tests are on the way. Please first comment if you're OK with this implementation, some points are discussable.

What works now:
```
bash:MEMGRAPH_ROOT/build/>./tests/manual/console 10
MG>MATCH (n) RETURN COLLECT("age_" + n.age, n.height)

+-----------------------------------------------------------------------------------------------------------------------------------+
| COLLECT("age_" + n.age, n.height)                                                                                                 |
+-----------------------------------------------------------------------------------------------------------------------------------+
| {age_10: 176, age_13: 180, age_24: 172, age_25: 179, age_32: 123, age_33: 186, age_37: 147, age_43: 162, age_49: 126, age_6: 170} |
+-----------------------------------------------------------------------------------------------------------------------------------+
```

Reviewers: mislav.bradac, teon.banek, buda

Reviewed By: mislav.bradac, buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D695
2017-08-25 12:51:18 +02:00
Matej Ferencevic
0914c5a941 Migrate harness to use our bolt client
Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D711
2017-08-25 11:10:15 +02:00
Mislav Bradac
19bec4acc8 Fix expansion benchmark
Reviewers: florijan, mferencevic, teon.banek, buda

Reviewed By: florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D708
2017-08-25 10:09:21 +02:00
Matej Ferencevic
5a2086b18f Libraries are now downloaded from our local cache server.
Summary:
Improved libs cleanup script.

The root init script now downloads everything.

Removed obsolete init scripts.

Reviewers: buda, mislav.bradac

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D710
2017-08-25 09:58:39 +02:00
Matej Ferencevic
c507e74384 First version of bolt cpp client.
Reviewers: buda, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D689
2017-08-24 17:44:44 +02:00
Goran Zuzic
a6b8d6b4cf Make Distributed Memgraph Stub
Summary:
* main file (copied distributed_test.cpp), start_main.py, config

Made a dedicated client and memgraph file (stubs) + code structure changes

Reviewers: sasa.stanko

Reviewed By: sasa.stanko

Subscribers: pullbot, lion, buda

Differential Revision: https://phabricator.memgraph.io/D709
2017-08-24 16:58:35 +02:00
Matej Ferencevic
9d1265f41f Initial version of macro benchmark summary script.
Summary:
Changed harness output to be compatible with script.

Changed cppcheck message formatting.

Changed qa message formatting.

Changed macro benchmark summary icons.

Fixed newlines in status generators.

Added group name to harness summary.

Macro benchmark summary now handles different files.

Added more output options to summary script.

Diff builds now build parent for performance comparison.

Reviewers: buda, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D706
2017-08-24 15:11:36 +02:00
Teon Banek
fdc389f1eb Templatize CostEstimator on DbAccessor
Summary:
This allows for inserting dummy DbAccessor in tests. Unfortunate side
effect of this change is that the whole implementation had to be moved
from cpp to hpp.

Also templatize remaining RuleBasedPlanner implementation

Reviewers: florijan, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D704
2017-08-24 14:27:14 +02:00
Goran Zuzic
e4e61cd00a Expanded distributed tests
Summary:
1. add subscription functionality (it can close the channel and get the name)
2. new test for ReturnAddrMsg functionality
3. new test for serialization
4. proper serialization access permissions

Reviewers: sasa.stanko

Reviewed By: sasa.stanko

Subscribers: lion, buda

Differential Revision: https://phabricator.memgraph.io/D705
2017-08-24 13:58:28 +02:00
Mislav Bradac
c11b777234 CASE documentation
Reviewers: teon.banek, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D699
2017-08-24 13:34:39 +02:00
Mislav Bradac
ffec56c75b Remove LOG_NO_STDOUT flag
Summary: Remove LOG_NO_STDOUT passed to CMAKE. That option doesn't exist anymore.

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D702
2017-08-24 10:45:35 +02:00
Goran Zuzic
7f1c7a46cc Distributed tests
Summary:
1. added distributed tests, currently only one can be run (TODO)
2. usability changes: add Close() to Subscription
3. EventStream::Subscription -> Subscription
4. Add Subscription to ChainOnce
5. Added README.md conventions5

Reviewers: sasa.stanko

Reviewed By: sasa.stanko

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D701
2017-08-24 10:33:48 +02:00
florijan
2954276ca8 Property storage now supports Map
Summary:
Added:
- map support in PropertyValue
- conversion of map TypedValue to PropertyValue if appropriate flag is set (undocumented because it's private)
- ordering of map PropertyValue in LabelPropertyIndex
- issue raised regarding list and value property modifications in storage (currently unsupported)

Maybe I missed some feature or whatever?

Reviewers: mislav.bradac, buda, teon.banek

Reviewed By: mislav.bradac, buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D692
2017-08-24 10:29:49 +02:00
Teon Banek
4ccffbfd9b Split planners in headers and templatize PlanningContext
Summary:
This change should allow for passing a different PlanningContext and/or
GraphDbAccessor. In turn, we can write tests which pass a dummy context
for decoupled testing of the planning process (from the rest of the
system).

Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D700
2017-08-24 09:23:20 +02:00
Goran Zuzic
3ae35fa161 Renamings
Summary:
1. SenderMessage -> ReturnAddressMsg and GetChannelToSender -> GetReturnChannelWriter
2. Channel -> ChannelWriter
3. Connector -> Channel
4. removed old serialize_test
5. removed AwaitEvent and PopEvent

Reviewers: sasa.stanko

Reviewed By: sasa.stanko

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D698
2017-08-23 15:18:07 +02:00
Goran Zuzic
10e98b5c2e Fix a mistake with singleton inheritence
Reviewers: sasa.stanko

Reviewed By: sasa.stanko

Differential Revision: https://phabricator.memgraph.io/D697
2017-08-23 13:48:32 +02:00
Teon Banek
591d086013 Map symbols to expansions to speed up variable planning
Summary:
Test variable planning BFS.
Add more tests for variably planning ExpandVariable.
Don't recreate the whole matching when varying expansions.
Use explicit constructors in private planner classes.

Reviewers: mislav.bradac, florijan

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D691
2017-08-23 11:39:45 +02:00
florijan
b23cb43bd4 Benchmark Expand - disabled Match testing
Summary: Disabling it because it seems that (singleton + fixture + multiple_benchmarks) cause occasional crashes of the test. The more important test is left enabled.

Reviewers: mislav.bradac, buda

Reviewed By: mislav.bradac

Differential Revision: https://phabricator.memgraph.io/D696
2017-08-23 11:26:48 +02:00
florijan
6cd63e8ac9 Expansion benchmark added
Summary:
It's purpose is to illustrate that currently expansion from a single node (with a fixed degree) does not execute in consistent time, but the execution time depends on the rest of the graph (that's disconnected). Current benchmark results:

```
florijan@florxps:~/Memgraph/memgraph/build$ ./tests/benchmark/expansion
Run on (8 X 3500 MHz CPU s)
2017-08-17 16:06:30
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
***WARNING*** Library was built as DEBUG. Timings may be affected.
Benchmark                                   Time           CPU Iterations
-------------------------------------------------------------------------
ExpansionBenchFixture/Match/1               0 ms          0 ms       4903
ExpansionBenchFixture/Match/1024            0 ms          0 ms       4785
ExpansionBenchFixture/Match/1024k           0 ms          0 ms       4623
ExpansionBenchFixture/Expand/1              9 ms          9 ms         83
ExpansionBenchFixture/Expand/1024          20 ms         20 ms         41
ExpansionBenchFixture/Expand/1024k       3430 ms       3430 ms          1
```

Reviewers: mislav.bradac, buda

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D676
2017-08-23 09:10:26 +02:00
Mislav Bradac
2e56828dc2 Add BFS integration test
Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D688
2017-08-22 17:58:42 +02:00
Goran Zuzic
abedfb29b1 Make Distributed Singleton (and remove unused code)
Reviewers: sasa.stanko, buda

Reviewed By: sasa.stanko

Differential Revision: https://phabricator.memgraph.io/D694
2017-08-22 17:14:54 +02:00
Goran Zuzic
8f33269b03 Make System a singleton + Fix some protocol errors
Reviewers: mferencevic, sasa.stanko

Reviewed By: mferencevic, sasa.stanko

Differential Revision: https://phabricator.memgraph.io/D693
2017-08-22 16:30:25 +02:00
florijan
1a619c54e9 Rand() function added
Reviewers: mislav.bradac, buda

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D690
2017-08-22 15:18:41 +02:00
Teon Banek
ff3bd2011a Improve pointer handling in operator_tree gdb plugin
Reviewers: florijan

Reviewed By: florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D686
2017-08-22 10:13:49 +02:00
Mislav Bradac
8792b8f931 Implement CASE construct
Summary: Missing: documentation

Reviewers: buda, teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D685
2017-08-21 13:30:41 +02:00
Teon Banek
ac9f6170d6 Support reversing ExpandVariable
Summary:
This is needed in cases when the planner decides to start expanding from
the other end.

Reviewers: mislav.bradac, florijan

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D681
2017-08-21 11:59:31 +02:00
Mislav Bradac
bf13c00879 Add transactions test to run script
Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D684
2017-08-21 11:34:19 +02:00
florijan
ce902e7a86 GDB operator tree plugin improvement suggestion
Summary: The previous version didn't seemt to be able to print the operator tree below the `Expand` operator. It seems it was unable to reach the `input_` field because it's a member of the `ExpandCommon` super-type. The proposed fix handles that. @teon, please test, verify, modify, whatever, just ensure printing works below `Expand` operators.

Reviewers: teon.banek, buda

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D679
2017-08-21 10:54:43 +02:00
Mislav Bradac
1dec024bc8 Return fields in BEGIN, ROLLBACK, COMMIT
Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D683
2017-08-19 13:56:17 +02:00
Mislav Bradac
5a69f46f1f Fix bug in planner VaryMatchingStart iterator
Reviewers: teon.banek, florijan, buda

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D680
2017-08-18 17:22:35 +02:00
Teon Banek
c7cb428eaf tools.csv_to_snapshot: Store 'id' property
Reviewers: buda

Reviewed By: buda

Differential Revision: https://phabricator.memgraph.io/D682
2017-08-18 17:17:16 +02:00
Matej Ferencevic
1eec3186c4 Stress tests now spawn only one memgraph.
Summary:
Added logging to bipartite and create_match tests.

Renamed thread-count to worker-count.

Changed logging in memgraph.

Reviewers: buda, florijan

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D667
2017-08-18 14:48:54 +02:00
Mislav Bradac
0435f5c851 Fix warnings in planner
Reviewers: teon.banek

Reviewed By: teon.banek

Differential Revision: https://phabricator.memgraph.io/D678
2017-08-18 14:36:49 +02:00
Teon Banek
22ab0e7553 tools.csv_to_snapshot: Limit hashing to uint64
Summary:
This prevents Python's integer precision going out of hand and causing
major slow downs.

Reviewers: mferencevic, buda

Reviewed By: mferencevic

Differential Revision: https://phabricator.memgraph.io/D677
2017-08-18 11:28:59 +02:00
Mislav Bradac
3a365a2808 Migrate unique_ptr from InitEdges to optional
Reviewers: buda, florijan, teon.banek

Reviewed By: florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D674
2017-08-17 17:06:30 +02:00
Goran Zuzic
0f12426ae3 Put Reactors framework into a seperate file and demangle the dependencies
Summary:
1. move Reactor (local) stuff into reactors_local.hpp/.cpp
2. renamed connector_unit -> reactors_local_unit
3. renamed communication.hpp/.cpp -> reactors_distributed.hpp/.cpp

Reviewers: sasa.stanko, mferencevic

Reviewed By: sasa.stanko

Differential Revision: https://phabricator.memgraph.io/D675
2017-08-17 16:16:13 +02:00
florijan
a656ba3343 Scheduler - removed templatization
Summary: Because it was unnecessary and also implemented wrong (if someone tried using a Schduler with something other then std::mutex, it would not compile). We can trivially add this if it ever becomes necessary.

Reviewers: buda, mislav.bradac

Reviewed By: buda, mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D666
2017-08-17 16:10:41 +02:00
Teon Banek
e4dcfef91a Add CSV to Memgraph snapshot file converter
Reviewers: mferencevic, buda

Reviewed By: mferencevic, buda

Differential Revision: https://phabricator.memgraph.io/D673
2017-08-17 16:02:26 +02:00
Goran Zuzic
58453794a6 [Rename diff] Change the terminology to match the rest.
Reviewers: sasa.stanko

Reviewed By: sasa.stanko

Subscribers: buda, lion

Differential Revision: https://phabricator.memgraph.io/D672
2017-08-17 15:37:12 +02:00
Sasa Stanko
061b8933a7 Create Distributed class for non-local functionality
Reviewers: zuza, lion, buda, mferencevic

Reviewed By: zuza

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D669
2017-08-17 14:58:51 +02:00
Mislav Bradac
6db9e38e1e Fix bug in named expression
Summary: Fix stripped named expression keyword case bug

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D670
2017-08-17 14:51:12 +02:00