Gareth Andrew Lloyd
4bc5d749b2
Refactor replication, part 3 ( #1177 )
...
Changes to make replication code agnostic of the storage kind being used.
Co-authored-by: Andreja Tonev <andreja.tonev@memgraph.io>
2023-08-25 10:52:07 +01:00
imilinovic
a426ef9cc3
Add Relationship::RemoveProperty to C++ query module API ( #1156 )
2023-08-24 12:14:00 +02:00
Ante Pušić
3f8befde79
Bump PyYAML version ( #1174 )
2023-08-23 12:48:17 +02:00
andrejtonev
9355e58e73
Decoupling replication logic from InMemoryStorage ( #1169 )
2023-08-22 13:29:25 +02:00
gvolfing
476968e2c8
Fix concurrent query module race condition ( #1158 )
...
Concurrent access to the same query module had a race condition on the
pointer that was used to handle the custom memory management. With this
commit, a mapping has been added to keep information about what
thread used the pointer to handle the memory resources. This should be
fine since the respected query executions are running on a dedicated
thread. Access to the mapping itself is threadsafe. A simple RAII
wrapper for the mapping container has also been added for simpler
client-side use.
2023-08-21 16:45:36 +02:00
Gareth Andrew Lloyd
97183fb9da
Fix FLAGS_delta_chain_cache_threshold typo ( #1181 )
2023-08-21 13:16:02 +02:00
Aidar Samerkhanov
3bf2cf65ab
Optimize splitting keys inside the on-disk storage ( #1155 )
2023-08-17 18:09:21 +02:00
Gareth Andrew Lloyd
2e51e703c3
Add supernode vertex cache ( #1124 )
...
Add supernode vertex cache to account for long delta chains and modifications in the same module being independent of scanning of the nodes in the next iteration of the pulling mechanism.
2023-08-11 10:18:28 +02:00
Antonio Filipovic
509183e985
Improve performance on set properties ( #1115 )
2023-08-10 09:06:44 +02:00
Aidar Samerkhanov
1fe2190747
Filter deleted edges during edge prefetch ( #1145 )
2023-08-09 13:56:34 +02:00
Andi
762fe6a65d
Improve disk indices ( #1139 )
2023-08-09 10:16:49 +02:00
Aidar Samerkhanov
271b1a5ddb
Fix bug with on-disk triggers ( #1134 )
...
* Fix TriggerContext adaptation for accessors.
* Fix edge deserialization in case of the deleted vertex.
2023-08-08 10:37:14 +02:00
Matija Pintarić
514fed51c4
Add implementation of C++ API Node::RemoveProperty ( #1128 )
2023-08-01 20:11:38 +02:00
imilinovic
2877c343e8
Add implementation of << operator for mgp::Value ( #1127 )
2023-08-01 19:30:23 +02:00
andrejtonev
e8850549d2
Add multi-tenancy v1 ( #952 )
...
* Decouple BoltSession and communication::bolt::Session
* Add CREATE/USE/DROP DATABASE
* Add SHOW DATABASES
* Cover WebSocket session
* Simple session safety implemented via RWLock
* Storage symlinks for backward. compatibility
* Extend the audit log with the DB info
* Add auth part
* Add tenant recovery
2023-08-01 18:49:11 +02:00
andrejtonev
fd819cd099
Add custom e2e test activation to include the toolchain libs ( #1130 )
2023-08-01 17:13:47 +02:00
Andi
60f4ffc6a1
Improve logging if replica cannot recover using curr WAL file ( #1086 )
2023-08-01 10:33:46 +02:00
Andi
bd2ec6374a
Remove node argument from start-stop Jepsen functions ( #1091 )
2023-08-01 00:06:57 +02:00
gvolfing
210bea83d4
Add GraphQL transpilation compatibility ( #1018 )
...
* Add callable mappings feature
* Implement mgps.validate (void procedure)
* Make '_' a valid variable name
2023-07-31 14:48:12 +02:00
Josh Soref
57fe3463f2
Fix a bunch of spelling mistakes (1/n) ( #1112 )
2023-07-30 14:05:05 +02:00
Tyler Neely
53fcd8ac4d
Add manual .py test verifying isolation levels ( #407 )
2023-07-30 14:04:26 +02:00
Tyler Neely
259cba5d43
Add manual .py test asserting forward progress across reconnects ( #408 )
2023-07-30 14:02:59 +02:00
Antonio Filipovic
285b409927
Improve all shortest paths memory usage ( #981 )
...
* Change allocator to PoolResource
2023-07-30 12:58:07 +02:00
Gareth Andrew Lloyd
8ebab84324
Add handling of partial results on timeout ( #1046 )
2023-07-30 10:48:11 +02:00
imilinovic
3fd9ce4a33
Add mgp::map erase and update ( #1103 )
2023-07-30 08:36:50 +02:00
Andi
be4eb95a98
Fix Jepsen replication pause ( #1082 )
2023-07-30 02:36:11 +02:00
Andi
903a9f4636
Set explicit node config for jepsen tests ( #1088 )
2023-07-30 00:49:48 +02:00
Andi
18bd02423a
Fix PropertyStore buffer serialization ( #1111 )
2023-07-29 19:14:27 +02:00
andrejtonev
58c0c4cebb
Add missing-field-initialization warning flag ( #1113 )
2023-07-29 17:59:11 +02:00
andrejtonev
110ca3968c
Fix path generation ignores edge's element_id ( #1108 )
2023-07-29 15:51:51 +02:00
Andi
9072fb7703
Fix flaky transactional queue e2e test ( #1102 )
2023-07-29 11:11:27 +02:00
Matija Pintarić
76ca019f31
Add overload of operator< for mgp::Value ( #1090 )
2023-07-28 11:35:14 +02:00
imilinovic
609b9a20f1
Add hash on mgp::Value ( #1093 )
2023-07-28 09:08:36 +02:00
Matija Pintarić
ab4d1efe0b
Overload << operator for mgp::Value::Type ( #1080 )
2023-07-25 13:30:02 +02:00
Marko Budiselić
992e718a97
Fix v2.9 release build issues ( #1087 )
...
* Fix include order inside `tests/unit/query_variable_start_planner.cpp` fails on an Rhel7 based OS
2023-07-20 16:15:27 +02:00
Andi
05eca46267
Fix flaky transaction_queue_multiple unit test ( #1077 )
2023-07-19 22:58:02 +02:00
Marko Budiselić
3b9133fd5a
Improve e2e and replication testing setup ( #1061 )
...
* Add `--replication-restore-state-on-startup` with `false` as default
Co-authored-by: Aidar Samerkhanov <aidar.samerkhanov@memgraph.io>
Co-authored-by: Andi Skrgat <andi8647@gmail.com>
2023-07-19 21:18:43 +02:00
Marko Budiselić
9d056e7649
Add experimental/v1 of ON_DISK_TRANSACTIONAL storage ( #850 )
...
Co-authored-by: Andi Skrgat <andi8647@gmail.com>
Co-authored-by: Aidar Samerkhanov <aidar.samerkhanov@memgraph.io>
2023-06-29 11:44:55 +02:00
Josipmrden
84721f7e0a
Add vertex degree to index statistics ( #1026 )
...
Add graph analysis of vertex degrees when doing ANALYZE GRAPH.
2023-06-27 18:06:20 +02:00
Andi
0f1ca745e5
Improve connection handling in tests/e2e
( #1012 )
2023-06-26 22:43:34 +02:00
Gareth Andrew Lloyd
3b781bf525
Add HTTP+GZIP support to LOAD CSV ( #1027 )
2023-06-26 19:10:48 +02:00
Antonio Filipovic
d573eda8bb
Add python & cpp batching option in procedures
...
* Add API for batching from the procedure
* Use PoolResource for batched procedures
2023-06-26 15:46:13 +02:00
Gareth Andrew Lloyd
5b1ba10183
Fix IN_MEMORY_ANALYTICAL storage GC ( #1025 )
2023-06-23 12:50:03 +02:00
Josipmrden
b875649270
Add restoring of replication roles upon database startup ( #791 )
...
Fix replica node restoration on startup so it is restored as replica and not as main.
2023-06-21 19:08:58 +02:00
Josipmrden
05cc35bf93
Add command NULLIF for identifying nulls in LOAD CSV ( #914 )
...
Add NULLIF command which turns all row values corresponding to the string to the nullif character sequence.
2023-06-21 14:50:46 +02:00
Josipmrden
63f8298033
Fix MATCH + LOAD CSV to load CSV only once ( #916 )
...
* update profile query to use poolresource
* Optimize update of indexes
* Add ignore empty strings to load csv
* Add operator changes to support handling of nulls
* Store chunks in memory pools ordered
* Use same max block per chunks number
* Remove redundant return statement
* add hacky cached solution
* change map to set
* remove memory
* Add match load csv invalid behaviour commit
* Accept input on LOAD CSV
* Ommit changes not tied to the PR
* Add tests for match + load csv
* Add gqlalchemy installation for e2e tests
* Modify setup script to update packages
* Revert gqlalchemy to 1.3.3
* Revert gqlalchemy to 1.3.3
* Address PR review comments
* Ommit semicolon
---------
Co-authored-by: antoniofilipovic <filipovicantonio1998@gmail.com>
Co-authored-by: János Benjamin Antal <benjamin.antal@memgraph.io>
2023-06-21 11:13:40 +02:00
Josipmrden
df95775222
Fix init file startup in community edition ( #974 )
...
* Fix init file startup in community edition
* Add possibility to build binary without MG_ENTERPRISE
* Added trace spdlog for when init file is not present
* Add gqlalchemy and unit tests
* Add init data files which correspond to the right directory by the github actions
2023-06-20 17:54:50 +02:00
Marko Budiselić
cf1a86ed13
Refactor tests/integration/run.sh ( #1016 )
2023-06-15 23:10:52 +02:00
andrejtonev
30ec570bb9
Add Bolt v5 support ( #938 )
2023-06-12 18:55:15 +02:00
Antonio Filipovic
d917c3f0fd
Fix slow IN LIST evaluation ( #901 )
2023-05-29 17:52:20 +02:00
andrejtonev
d842adbed3
Handle user-defined metadata and expose it with SHOW TRANSACTIONS( #945 )
2023-05-29 11:40:14 +02:00
Josipmrden
651b6f3a5a
Expose system metrics over HTTP Endpoint ( #940 )
2023-05-18 05:10:57 +00:00
Ante Pušić
0d9bd74a8a
Add support for map projection ( #892 )
2023-05-16 20:05:35 +02:00
andrejtonev
802f8aceda
Add data directory status and (un)lock query ( #933 )
2023-05-16 18:36:04 +02:00
gvolfing
c3e4f81026
Include additional info inside storage mode info query ( #883 )
2023-05-16 14:25:41 +02:00
Ante Javor
69634a5354
Fix typo in mgbench
2023-05-10 14:02:46 +02:00
Aidar Samerkhanov
b8f282468d
Update pulsar client for e2e tests
2023-05-09 12:23:28 +02:00
Ante Javor
ab38161cd2
FIix methodology links ( #903 )
...
Co-authored-by: Josip Mrden <josip.mrden@memgraph.io>
2023-05-03 16:37:36 +02:00
gvolfing
00f8d54249
Parallelize index creation ( #882 )
2023-04-26 16:28:02 +02:00
János Benjamin Antal
6c947947eb
Parallelize recovery ( #868 )
...
* Parallelize edge recovery
* Load vertex labels and properties parallel
* Add parallel connectivity loading
* Add batches information to snapshot
* Introduce `items_per_batch` and `recovery_thread_count` flags
* Make possible to load snapshots with old version
* Add vertex batches to `RecoveryInfo`
* Extend durability integration tests with v15 test cases
* Add `std::vector` based `InitProperties`
* Use `InitProperties` in snapshot loading
2023-04-25 16:25:25 +02:00
Ante Javor
64fd281b2e
Update benchgraph methodology ( #899 )
2023-04-25 09:45:25 +02:00
Marko Budiselić
b02b201129
Improve Jepsen setup ( #893 )
2023-04-23 16:16:49 +02:00
Ante Javor
940bf6722c
Add mgbench tutorial ( #836 )
...
* Add Docker runner
* Add Docker client
* Add benchgraph.sh script
* Add package script
2023-04-19 08:21:55 +02:00
Antonio Filipovic
64e837b355
Introduce analytics mode ( #772 )
2023-04-04 18:46:26 +02:00
Josipmrden
128771a6ec
Add SHA-256 password encryption ( #839 )
2023-04-03 16:29:21 +02:00
Josipmrden
f5a49ed29f
Add Cypher subqueries ( #794 ) ( #851 )
...
Co-authored-by: Bruno Sačarić <bruno.sacaric@gmail.com>
2023-03-31 13:49:10 +00:00
Josipmrden
398503da7a
Add index statistics for better query planning ( #812 )
2023-03-30 15:34:34 +02:00
Bruno Sačarić
0819b40202
Fix bug on AllShortest with multiple edges between nodes ( #832 )
2023-03-29 16:39:41 +02:00
Andi
029be10f1d
Add queries to show or terminate active transactions ( #790 )
2023-03-27 15:46:00 +02:00
Ante Javor
cb813c3070
Add bigger LDBC dataset to mgbench ( #747 )
2023-03-21 21:44:11 +01:00
Ante Javor
6349fc9501
Add time-depended execution to the mgbench client ( #805 )
2023-03-18 20:18:58 +01:00
Jure Bajic
c4167bafdd
Add support for Amazon Linux 2 and stop generating C++ using Lisp/LCP ( #814 )
2023-03-14 19:24:55 +01:00
Ante Pušić
97d45ab1d8
Add Python query module API mock ( #757 )
2023-03-07 15:41:19 +01:00
Josipmrden
6abd356d01
[master < E214] WHERE Exists feature ( #818 )
...
Add WHERE exists() to filter based on neighbouring pattern expressions
2023-03-07 00:28:41 +01:00
Ante Pušić
173f5430aa
Remove noexcept from functions that may throw ( #819 )
2023-03-06 17:34:34 +01:00
Antonio Filipovic
d79dd69607
Improve performance with props init on node|edge creation ( #788 )
2023-02-24 15:40:35 +01:00
Ante Javor
5e2ee6c817
Improve mgbench C++ client ( #760 )
2023-02-17 17:54:05 +01:00
Antonio Filipovic
862a1afdf1
Improve Visit performance ( #774 )
2023-02-17 13:09:25 +01:00
Josipmrden
8f70c5f2a5
Fix label-based auth using OLD view instead of NEW when merging nodes ( #755 )
2023-02-01 13:20:26 +01:00
Bruno Sačarić
34dd47ef07
Fix nested FOREACH shadowing bug ( #725 )
2023-01-25 20:06:05 +01:00
Ante Pušić
aad4bcb7a0
Fix C++ API memory leak on Relationships() ( #743 )
2023-01-25 17:23:46 +01:00
Bruno Sačarić
034b54cb72
Fix bug on all shortest paths with an upper bound ( #737 )
2023-01-25 15:32:00 +01:00
Josipmrden
8cf51d9f68
Fix bug in query plan to use indexes on optional match and foreach ( #736 )
...
* Add fix in query plan to use indexes on optional match and foreach
2023-01-25 12:53:33 +01:00
Antonio Filipovic
1cd1da84fd
Fix bug on (vertex|edge) properties in C++ API ( #732 )
2023-01-23 12:57:17 +01:00
niko4299
d9eeedb9ee
Adding qid in bolt ( #721 )
2023-01-18 16:33:03 +01:00
Andi
156e2cd095
On delete triggers invalid edge reference ( #717 )
...
* Added check if there is invalid reference to the underlying edge
* Added fix and e2e tests
* Isolation levels tracking based on from_vertex_
* Added explicit transaction test + edge accessor changes based on the vertex_edge
* Autocommit on tests, initialize deleted by checking out_edges
Co-authored-by: Marko Budiselić <marko.budiselic@memgraph.com>
2023-01-18 15:05:10 +01:00
Ante Javor
8b834c702c
Update mgbench to run Diff workflow under 30mins ( #730 )
2023-01-14 16:11:49 +01:00
Bruno Sačarić
1f2a15e7c8
Fix MATCH not allowed on replica ( #709 )
2022-12-23 14:47:12 +01:00
Antonio Filipovic
e5e37bc14a
Fix LOAD CSV large memory usage ( #712 )
2022-12-22 19:38:48 +01:00
Andi
310e305cfb
Fix python module reloading ( #706 )
2022-12-12 21:11:13 +01:00
Marko Budiselić
9d6a23b6bd
Add init-file and init-data-file capabilities ( #696 )
2022-12-09 18:50:33 +01:00
Andi
f2d5ab61c4
Fix Python submodules reloading ( #653 )
2022-12-09 14:30:41 +01:00
Andi
0f77c85824
Fix cursor exhaustion by adding EmptyResult operator ( #667 )
2022-12-09 11:44:07 +01:00
Tyler Neely
7d6a5e5b9c
Add support for -h to show help in addition to --help ( #682 )
2022-12-07 16:51:32 +01:00
Ante Pušić
45451bae3b
Fix C++ query modules API bugs ( #688 )
2022-12-06 16:57:50 +01:00
niko4299
3e11f38548
Add aggregation distinct ( #654 ) ( #665 )
2022-12-03 13:48:44 +02:00
Ante Javor
8febdc12fb
Update tests/mgbench README ( #679 )
2022-11-30 12:43:57 +01:00
Ante Javor
11300960de
Add mixed workload and Neo4j client to mgbench ( #566 )
...
* Fix bolt bug inside the C++ client
* Add tail latency stats
* Add hot run option
* Add query caching
* Add jcmd memory tracking
2022-11-28 08:47:22 +01:00
Bruno Sačarić
58e6097664
Fix ALLSHORTEST combined with id function ( #636 )
2022-11-04 19:36:03 +01:00
Jure Bajic
ff21c0705c
Add multiple license support ( #618 )
...
Make license info available through LicenseChecker
Add LicenseInfoSender
Move license library from utils
Rename telemetry_lib to mg-telemetry
2022-11-04 15:23:43 +01:00