Kostas Kyrimis
89f42ef73e
Add CreateExpand PullMultiple and prototype mocks for testing
2022-12-07 19:03:30 +02:00
Jure Bajic
c39f264684
Merge branch 'project-pineapples' into T1185-MG-replace-skip-list
2022-12-05 06:37:43 -08:00
jbajic
2488895362
Rename ApproximateVertexCount to VertexCount
2022-12-05 15:37:10 +01:00
Tyler Neely
2e33f8275b
Merge branch 'project-pineapples' into tyler_full_async_request_router
2022-12-02 19:05:15 +01:00
Kostas Kyrimis
0ad702175f
Fix expression evaluator mocked request router
2022-12-01 18:24:51 +02:00
Tyler Neely
366a4e2b9a
Add support for efficiently executing multiple asynchronous requests out-of-order from the RequestRouter
2022-12-01 15:56:16 +00:00
jbajic
31f907cb53
Remove keystore
2022-11-30 14:40:12 +01:00
gvolfing
7e8b4921b4
Make query_v2_plan unit tests available again.
...
The query_v2_plan unit tests were needed in order to properly test if
the created logical plan of the new operator work properly. In order to
achieve this v2 versions of the several files were created, where the
old utilities were replaced with new ones, like query::v2 and
storage::v3. A new fake db accessor was also created in order to be able
to test the ScanAllByPrimaryKey operator.
2022-11-30 13:16:04 +01:00
Tyler Neely
04124a1e9b
Make AsyncRequestToken arguments const, reserve size in response vectors
2022-11-29 15:50:35 +00:00
Tyler Neely
8f08d986cb
Make method names clear for RequestRouter requests, avoid unnecessary overloading
2022-11-29 14:47:32 +00:00
Tyler Neely
9144d2dccd
Remove bug-prone inverted ownership of ExecutionState as a consideration of operators
2022-11-29 14:30:59 +00:00
Tyler Neely
9f10c3ea06
Merge branch 'project-pineapples' of github.com:memgraph/memgraph into tyler_rename_ShardRequestManager_to_RequestRouter
2022-11-29 08:57:28 +00:00
gvolfing
22e3164e60
Add missing license
2022-11-28 16:18:28 +01:00
Kostas Kyrimis
8fd7327fbd
Address GH comments
2022-11-28 15:38:12 +02:00
Tyler Neely
82db1d4ad8
Rename ShardRequestManager to RequestRouter
2022-11-28 12:38:38 +00:00
Kostas Kyrimis
ed0b67dfdb
Fix compilation issues of the merge
2022-11-28 13:38:12 +02:00
Kostas Kyrimis
0f34c49e21
Merge branch 'project-pineapples' into T1159-MG-Add-memgraph-functions
2022-11-28 13:18:51 +02:00
Tyler Neely
a8dc6fd41e
Change the namespace of ShardRequestManager to query::v2 instead of msgs
2022-11-28 09:43:56 +00:00
Kostas Kyrimis
6f4996de0e
Fix broken merge and address GH comments
2022-11-25 16:20:38 +02:00
Kostas Kyrimis
01d5953bb6
Merge branch 'project-pineapples' into T1159-MG-Add-memgraph-functions
2022-11-25 15:47:44 +02:00
jbajic
b3eec92525
Merge branch 'project-pineapples' into T0995-MG-implement-top-error-handling-storage
2022-11-23 16:11:58 +01:00
Kostas Kyrimis
2ff81ebf04
Address missed GH comments && fix broken merge
2022-11-23 15:16:14 +02:00
Kostas Kyrimis
407418e8f5
Merge branch 'project-pineapples' into T1159-MG-Add-memgraph-functions
2022-11-23 14:53:53 +02:00
Kostas Kyrimis
6d544e4fc0
Address GH comments
2022-11-23 14:51:38 +02:00
jbajic
9b19dd57d3
Remove storage include
2022-11-23 13:19:25 +01:00
János Benjamin Antal
1cd10ab409
Merge branch 'project-pineapples' into T1116-MG-update-delete-vertex-labels
2022-11-23 12:15:34 +01:00
jbajic
9fade5ebac
Fix tests
2022-11-23 10:37:33 +01:00
jbajic
cd7b33f23f
use comparison between ErrorCode and ShardError
2022-11-22 16:22:42 +01:00
jbajic
d82cfb349e
Use ShardResult
2022-11-22 15:00:32 +01:00
jbajic
5717dfb165
Add ErrorCode to SHARD_ERROR macro
2022-11-22 14:05:04 +01:00
jbajic
2a6dc7bb93
Remove success
2022-11-22 13:49:12 +01:00
jbajic
ec4804b72a
Move ErrorCode to common
2022-11-17 11:03:03 +01:00
jbajic
1f159b5a80
Fix scheme test
2022-11-16 08:58:06 +01:00
jbajic
1c94c59a24
Fix tests
2022-11-15 19:29:56 +01:00
Kostas Kyrimis
9e81fe791c
Fix clang-tidy warnings, remove commented out code and add HasLabel
...
functions in ShardRequestManager to avoid throwing bad optional on
expression evaluator
2022-11-15 19:20:01 +02:00
Kostas Kyrimis
213583f916
Add expression evaluator && awesome_memgraph_functions unit tests
2022-11-14 20:46:20 +02:00
Kostas Kyrimis
02ef954e51
Add mg-functions lib and integrated with SE and QE
2022-11-14 20:46:16 +02:00
jbajic
b4c24f4506
Remvoe storage.hpp and storage.cpp files
2022-11-14 10:23:48 +01:00
jbajic
6eabceca4a
Add unit tests for UpdateVertex
2022-11-14 09:02:55 +01:00
gvolfing
b67e5b9a6c
Merge branch 'project-pineapples' into T1145-MG-handle-insertions-of-vertices-that-already-exist-in-a-better-way
2022-11-08 07:53:45 +01:00
gvolfing
79756ae6fb
Modify unit test
...
Instead of Creating an exception that is would be only used in this
file, just assert the type of the error the double vertex insertion
operation should yield.
2022-11-08 07:31:01 +01:00
gvolfing
91550128a5
Conform unit test with the new error-handling
2022-11-07 11:46:24 +01:00
gvolfing
3d954e7abc
Restructure SchemaResult type and uts usage
...
Rename SchemaResult to ShardOperationResult move it into a separate
header and add a new type to the underlying variant that indicates that
the vertex, the user would like to insert into the skip-list already
exist.
2022-11-04 15:04:25 +01:00
Tyler Neely
9203616283
Merge branch 'project-pineapples' into T1122-MG-ShardManager-ThreadPool
2022-11-03 17:01:07 +01:00
Tyler Neely
6138d76690
Remove unit tests for storage v2
2022-11-03 14:21:17 +00:00
Tyler Neely
25fdb1a1f0
Make the high_density_shard_create_scan test run much faster
2022-11-03 13:48:11 +00:00
Tyler Neely
0364311dd0
Log latency histograms in the high_density_shard_create_scan test
2022-11-03 12:44:47 +00:00
Tyler Neely
9235515dab
Reduce high_density_shard_create_scan shard+thread combinations. Log Raft write request demangled names
2022-11-03 12:38:12 +00:00
Tyler Neely
68654b5a19
Merge branch 'project-pineapples' of github.com:memgraph/memgraph into T1122-MG-ShardManager-ThreadPool
2022-11-02 10:55:18 +00:00
Tyler Neely
84509fa477
Fix merge conflict with MachineManager constructor
2022-11-01 17:07:14 +00:00
Tyler Neely
19b5fe3caf
Merge branch 'project-pineapples' into tyler_remove_shard_map_from_machine_manager
2022-11-01 17:57:03 +01:00
Tyler Neely
6dd57426f8
Revert broken code suggestion
2022-11-01 15:51:37 +00:00
Tyler Neely
9a1258a708
Update tests/unit/1k_shards_1k_create_scanall.cpp
...
Co-authored-by: Kostas Kyrimis <kostaskyrim@gmail.com>
2022-11-01 16:31:14 +01:00
Tyler Neely
c55ca836a4
Update tests/unit/1k_shards_1k_create_scanall.cpp
...
Co-authored-by: Kostas Kyrimis <kostaskyrim@gmail.com>
2022-11-01 16:31:06 +01:00
Tyler Neely
5674ef4016
Update tests/unit/1k_shards_1k_create_scanall.cpp
...
Co-authored-by: Kostas Kyrimis <kostaskyrim@gmail.com>
2022-11-01 16:30:37 +01:00
Tyler Neely
a6add80fc9
Use static RSM partitioning function for achieving a smooth Shard->ShardWorker distribution
2022-11-01 14:52:38 +00:00
Tyler Neely
5d3eaf6a55
Rename 1k_shards_1k_create_scanall test to high_density_shard_create_scan
2022-11-01 14:02:07 +00:00
Tyler Neely
a13f260236
Parameterize shard worker threads in the MachineConfig and simplify test output
2022-11-01 13:57:57 +00:00
Tyler Neely
bb1e8aa164
Improve histogram output by adding a pretty table printing function
2022-11-01 10:46:25 +00:00
Tyler Neely
27a1311966
Merge branch 'tyler_1k_shard_unit_test' of github.com:memgraph/memgraph into T1122-MG-ShardManager-ThreadPool
2022-11-01 09:49:15 +00:00
Tyler Neely
119da2d7a7
Update CMakeLists.txt
2022-11-01 09:51:43 +01:00
Tyler Neely
2f77eb96ff
Remove redundant ShardMap copy from MachineManager to avoid race conditions
2022-10-31 16:49:46 +00:00
Tyler Neely
03cf264b76
Add test for 1k shards, 1k create vertices, and then a scan all
2022-10-28 08:29:27 +00:00
Tyler Neely
eafccaea84
Add a logarithmically bucketing histogram and record response latencies per message type ( #616 )
2022-10-26 15:57:11 +02:00
János Benjamin Antal
f6e78ce6da
Fix TODOs in storage engine ( #614 )
...
Fixed various TODOs that were easy to fix to improve the code quality of the
newly implemented storage.
2022-10-26 10:40:35 +02:00
János Benjamin Antal
332afadf21
Split file parsing ( #600 )
...
Add temporary support for split files. This is only temporary solution until we
get the shard splitting implemented.
2022-10-25 10:27:13 +02:00
Tyler Neely
17090dd8ac
Load SPDLOG_LEVEL environment variable in unit tests binaries ( #606 )
...
Co-authored-by: János Benjamin Antal <antaljanosbenjamin@users.noreply.github.com>
2022-10-20 18:27:52 +02:00
János Benjamin Antal
f89a2bbf42
Make ExpandOne work in the query engine ( #589 )
2022-10-20 11:35:00 +02:00
gvolfing
85b8ce9101
Implement filtering capabilities for ScanAll ( #578 )
...
ScanVerticesrequest was not able to utilize filtering capabilities
before. With these modification it is now able to filter the scanned
vertices based on the filter_expressions field in the
ScanVerticesRequest message type.
2022-10-19 16:09:00 +02:00
gvolfing
d06132cb33
Make ShardRequestManager work with futures ( #588 )
...
The communication between the ShardRequestManager and the RsmClient
used to be direct. In this PR this changes into a future-based
communication type. The RsmClient stores state about the currently
processed future (either read or write request) and exposes blocking
and non-blocking functionality to obtain the filled future. The
ShardRequestManager -for now- will send of the set of requests present
in the ExecutionState and block on each of them until the requests are
completed or the set of paginated responses(caused by, for example the
batch-limit in ScanAll) are ready for the next round.
2022-10-18 09:53:37 +02:00
Jeremy B
4cb3b064c4
Add filter to scan all ( #575 )
...
Add several versions of ScanAll with filters.
Add helper function to transform an expression into string that can be parsed again once on the storage.
2022-10-12 11:46:59 +02:00
Jure Bajic
23171e76b6
Integrate bolt server ( #572 )
...
* Use query-v2 in the main executable
* Set up machine manager in memgraph
* Add `ShardRequestManager` to `Interpreter`
* Make vertex creation work
* Make scan all work
* Add edge type map in shard request manager
* Send schema over request
* Empty out DbAccessor
* Store shard mapping at creation
* Remove failing CI steps
Cooltura is the best place in Zagreb!
Co-authored-by: János Benjamin Antal <benjamin.antal@memgraph.io>
2022-10-11 16:31:46 +02:00
gvolfing
87111b2f89
Implement missing message handlers ( #563 )
...
Implement the missing message handlers with basic functionality. The
implementation does not include any capabilities to filter based on
expressions.
2022-10-03 15:31:06 +02:00
Tyler Neely
b5c7078c7d
Stitch request manager with shard ( #570 )
...
Fix various bugs
2022-09-23 20:07:41 +02:00
Kostas Kyrimis
925835b080
Implement query engine client ( #531 )
...
- Add shard request manager
2022-09-22 15:05:43 +02:00
Tyler Neely
ce788f5f65
Machine manager and shard stitch ( #569 )
2022-09-22 13:55:16 +02:00
János Benjamin Antal
3c4856dcb7
Merge remote-tracking branch 'origin/project-pineapples' into E118-MG-lexicographically-ordered-storage
2022-09-21 18:50:00 +02:00
Marko Budiselić
b4d6dc0930
Add proper transaction handling ( #550 )
2022-09-21 18:25:51 +02:00
Jure Bajic
817161a915
Implement expression evaluator in storage v3 ( #534 )
...
- Enable `mg-expr` in mg-storage-v3
- Adapt id_mapper
- Change conversion function from PropertyValue to TypedValue
- Remove memgraph functions
- Enable expression tests on for storage
2022-09-21 17:26:55 +02:00
Tyler Neely
58eb2caf0f
Add machine manager prototype ( #533 )
2022-09-21 16:57:25 +02:00
János Benjamin Antal
8e1f83acc9
Reference vertices by id in edges ( #532 )
2022-09-14 13:11:14 +02:00
jbajic
f910cb770c
Merge branch 'project-pineapples' into E118-MG-lexicographically-ordered-storage
2022-09-09 12:39:28 +02:00
Kostas Kyrimis
38d0b89b04
Implement expression evaluator library ( #486 )
2022-09-07 18:15:32 +03:00
Jure Bajic
e9f0360fb3
Enable indices for storage v3 ( #528 )
...
- Enable indices in storage v3
- Add new test cases
- Change `CreateVertexAndValidate` to call `SetProperty` and `AddLabel`
2022-09-06 22:48:25 +02:00
János Benjamin Antal
fe4955447e
Merge branch 'project-pineapples' into E118-MG-lexicographically-ordered-storage
2022-09-05 14:59:01 +02:00
Tyler Neely
1631c20df2
In memory shard map ( #505 )
2022-09-05 15:50:54 +03:00
János Benjamin Antal
947baedbe6
Merge remote-tracking branch 'origin/project-pineapples' into E118-MG-lexicographically-ordered-storage
2022-09-02 11:41:03 +02:00
Jure Bajic
7e84744d07
Split storage and shards ( #519 )
...
- Rename storage to shard
- Add primary label and range for shard
- Remove id_mapper functionality from shard
- Adapt tests
2022-09-01 09:10:40 +02:00
Jure Bajic
95dbc022c0
Integrate schema and keystore ( #497 )
...
- Integrate schema and keystore on vertex creation
- Add GC test for storage v3
- Add tests for accessors
- Fix all tests related to this except for query v2
- Fix labels not returning primary label
2022-08-29 14:38:25 +02:00
Tyler Neely
a40403e3ce
Add local transport ( #512 )
...
* Create LocalTransport Io provider for sending messages to components on the same machine
* Move src/io/simulation/message_conversion.hpp to src/io/message_conversion.hpp for use in other Io providers
2022-08-29 13:49:51 +02:00
Tyler Neely
14c9e68456
Transport prototype ( #466 )
2022-08-12 08:24:32 +02:00
jbajic
68b26275a3
Merge branch 'project-pineapples' into E118-MG-lexicographically-ordered-storage
2022-08-08 11:34:46 +02:00
Jure Bajic
a12a1ea358
Move schema to storage v3 and query v2
...
* Move schema to storage v3
* Remove schema from v2
* Move schema to query v2
* Remove schema from query v1
* Make glue v2
* Move schema related tests to newer versions of query and storage
* Fix typo in CMake
* Fix interpreter test
* Fix clang tidy errors
* Change temp dir name
2022-08-04 09:50:02 +02:00
János Benjamin Antal
2891041468
Make storage use KeyStore
( #455 )
2022-08-03 18:10:58 +02:00
jbajic
f57f30c8cf
Merge branch 'project-pineapples' into E112-MG-implement-partial-schema
2022-08-01 10:46:11 +02:00
Jure Bajic
462daf3a2b
Enforce schema on vertex creation
...
- Separating schema definition from schema validation
- Updating vertex_accessor and db_accessors with necessary methods
- Adding a primary label to Vertex
- Adding schema tests
- Updating existing tests for storage v3, and deprecating old:
- interpreter => interpreter_v2
- query_plan_accumulate_aggregate => storage_v3_query_plan_accumulate_aggregate
- query_plan_create_set_remove_delete => storage_v3_query_plan_create_set_remove_delete
- query_plan_bag_semantics => storage_v3_query_plan_bag_semantics
- query_plan_edge_cases => storage_v3_query_plan_edge_cases
- query_plan_v2_create_set_remove_delete => storage_v3_query_plan_v2_create_set_remove_delete
- query_plan_match_filter_return => storage_v3_query_plan_match_filter_return
2022-07-29 13:38:17 +02:00
Marko Budiselić
eb3f96d1f6
Bring changes from master to project-pineapples ( #477 )
...
* Fix aggregation functions on `null` and group-by inputs (#448 )
* Upgrade Antrl to 4.10.1 and remove antlr_lock (#441 )
* Update clang-tidy job (#476 )
* Add parser stress test (#463 )
NOTE: Doing this to have buildable comments on the project-pineapples branch
Co-authored-by: gvolfing <107616712+gvolfing@users.noreply.github.com>
Co-authored-by: Jure Bajic <jure.bajic@memgraph.com>
2022-07-28 15:36:17 +02:00
jbajic
264b233053
Merge branch 'project-pineapples' into E112-MG-implement-partial-schema
2022-07-22 11:48:45 +02:00
János Benjamin Antal
c0bee760bf
git
2022-07-18 08:21:04 +02:00
gvolfing
7fc0fb6520
Implement ToString function for temporal datatypes ( #429 )
...
* Modify `toString` to be able to handle `Date`, `LocalTime`, `LocalDateTime` and `Duration`
* Add unit tests
* Make `operator<<` use the `ToString()` implementations
* Add tests to verify the correctness of negative durations
* Add more tests to look for cases when the individual duration entities overflow.
2022-07-11 13:44:27 +02:00