Jeremy B
b737e53456
Remove sync with timeout ( #423 )
...
* Remove timout when registering a sync replica
* Simplify jepsen configuration file
* Remove timeout from jepsen configuration
* Add unit test
* Remove TimeoutDispatcher
2022-07-05 09:40:50 +02:00
Jeremy B
3e0e17d469
Adding assert in e2e script to check that a port is free before using it ( #425 )
...
* Adding assert in e2e script to check that a port is free before using it
* Adding extra logging
2022-07-04 10:14:02 +02:00
Jeremy B
1ae6b71c5f
Registering a replica with timeout 0 should not be allowed ( #414 )
2022-06-29 11:14:23 +03:00
Jeremy B
65a7ba01da
Add information on show replicas to express how up-to-date a replica is ( #412 )
...
* Add test
* Add implementation and adapted test
* Update workloads.yaml to have a timeout > 0
* Update tests (failing due to merging of "add replica state")
2022-06-23 10:22:57 +02:00
Kostas Kyrimis
7a2bbd4bb3
Remove ref from std::string_view ( #215 )
2022-06-21 17:18:43 +03:00
Jeremy B
589e0e098b
Forbid two replicas to point to the same ip port ( #406 )
2022-06-20 17:10:20 +03:00
Jeremy B
41d4185156
Add limit batches option to start stream query ( #392 )
2022-06-20 15:09:45 +03:00
Marko Budiselić
599c0a641f
Add replica state to SHOW REPLICAS ( #379 )
2022-06-20 13:28:42 +03:00
Tyler Neely
1fb49c4865
Add an uncatchable kill method to the python MemgraphInstanceRunner for testing abrupt failures ( #405 )
2022-06-15 12:16:11 +03:00
Jeremy B
a0bc1371dd
Adding "raw message" column to the result returned by CHECK STREAM query ( #394 )
...
* Adding "raw message" column to the result return by CHECK STREAM query
* Update way results of CHECK STREAM are built
* Adapting CHECK STREAM integration tests (Pulsar/Kafka) to run with new result structure
* Adding new tests covering the check stream functionality
* Uppercase constants in stream tests
* Reformat f-strings
2022-06-08 23:17:44 +02:00
Marko Budiselić
21ad5d4328
Fix SHOW REPLICATION ROLE and SHOW REPLICAS ( #376 )
2022-05-20 20:17:59 -07:00
Jure Bajic
22bd60c613
Fix shutdown call ( #395 )
...
* Fix shutdown not called
* Add ssl server tests
2022-05-18 07:50:06 +02:00
János Benjamin Antal
3e7aef432f
Improve docker-compose setup for running streams e2e tests locally ( #388 )
...
* Separate pulsar and kafka docker-compose files
* Add docker-compose for redpanda
* Add small docs how to use docker-compose files
2022-05-10 13:31:45 +02:00
Jeremy B
10ea9c773e
Making mgp_error enum class when compiling c++. Remains enum when com… ( #389 )
...
* Making mgp_error enum class when compiling c++. Remains enum when compiling c.
2022-05-05 17:48:17 +02:00
Jeremy B
b782271be8
Fix shared module loading
...
* Moving function add_query_module from CMakeLists from tests/e2e/magic_functions to tests/e2e
* Adding failing test copying behavior when loading c module (.so) into memgraph.
* Fixing issue where NO_ERROR status returned MgpTransAddFixedResult was converted to false
* Removing unnecessary transformation
* removing incorrect parameterization of test
* re-adding parametrized transformation
2022-04-28 20:28:44 +02:00
Josip Matak
4abaf27765
Memgraph magic functions ( #345 )
...
* Extend mgp_module with include adding functions
* Add return type to the function API
* Change Cypher grammar
* Add Python support for functions
* Implement error handling
* E2e tests for functions
* Write cpp e2e functions
* Create mg.functions() procedure
* Implement case insensitivity for user-defined Magic Functions.
2022-04-21 15:45:31 +02:00
Kostas Kyrimis
ea2806bd57
Implement foreach clause ( #351 )
2022-04-11 13:55:34 +03:00
Jure Bajic
17049ada09
Resolve python dependency issues ( #372 )
2022-04-07 17:56:18 +02:00
János Benjamin Antal
537855a0b2
Fix usages of constexpr ( #367 )
...
* Fix usages of constexpr
2022-03-31 13:52:43 +02:00
jbajic
12b4ec1589
Add memgraph namespace
2022-03-14 15:47:41 +01:00
Antonio Andelic
4817be0add
Polishing for release
2022-02-17 14:47:11 +01:00
Jure Bajic
3fb7e5378d
Add websocket port argument ( #355 )
2022-02-17 10:36:15 +01:00
Antonio Andelic
1d88893715
Add Websocket e2e tests ( #353 )
2022-02-17 10:36:10 +01:00
Jure Bajic
bd2c30fddc
Websocket unit tests ( #334 )
2022-02-17 10:35:56 +01:00
Antonio Andelic
48a531aac1
Add websocket authentication ( #322 )
2022-02-17 10:35:48 +01:00
Antonio Andelic
69eca9b043
Procedures for handling modules ( #330 )
2022-02-11 11:29:41 +01:00
Antonio Andelic
5aeaad198b
Define SHOW VERSION query ( #265 )
2022-02-10 10:30:14 +01:00
Kostas Kyrimis
4fd8bdce4c
Make temporal types now functions use the query context timestamp ( #333 )
2022-02-04 12:57:38 +01:00
János Benjamin Antal
6c00d146f2
Add configs for kafka streams ( #328 )
2022-01-31 17:26:53 +01:00
Antonio Andelic
bb1308acc7
Use libs from toolchain ( #326 )
2022-01-21 10:22:36 +01:00
János Benjamin Antal
e1f31d3d02
Toolchain v4 with fbthrift ( #318 )
2022-01-18 12:51:27 +01:00
Antonio Andelic
7deac4ac8b
Extra procedures transformation info ( #310 )
2022-01-13 13:46:32 +01:00
Antonio Andelic
8716b8e992
Update to newest spdlog and fmt ( #309 )
2021-12-07 11:05:33 +01:00
Antonio Andelic
d9bb4e2e46
Use default values instantly for batch size/interval ( #306 )
2021-11-30 16:29:51 +01:00
Antonio Andelic
aabec99a8e
Procedure for stream configs ( #301 )
2021-11-29 08:56:10 +01:00
Antonio Andelic
18f9d19b18
Update pyyaml version ( #305 )
2021-11-25 10:12:33 +01:00
Antonio Andelic
12f4e0068a
Small polishing and fixes
2021-11-16 17:23:20 +01:00
Antonio Andelic
e8976e0f1c
Update mgp API for Pulsar ( #298 )
2021-11-16 16:00:25 +01:00
Antonio Andelic
8606e69fd6
Add support for type in show streams ( #300 )
2021-11-16 15:58:36 +01:00
Antonio Andelic
c7b045bffc
Pulsar e2e tests ( #296 )
2021-11-16 15:58:35 +01:00
Antonio Andelic
b66cc66503
Add support for Pulsar queries ( #292 )
2021-11-16 15:52:58 +01:00
Antonio Andelic
0e4719018a
Introduce pulsar dependency ( #286 )
2021-11-16 15:47:40 +01:00
Antonio Andelic
0ebd52aac3
Support for different consumers ( #280 )
2021-11-16 15:40:27 +01:00
Antonio Andelic
6c971b856e
Fix ORDER BY and temporal types ( #299 )
2021-11-16 10:59:25 +01:00
Jure Bajic
16709dff6c
Add stats and notifications in results metadata ( #285 )
2021-11-15 13:51:13 +01:00
Kostas Kyrimis
47c0c629c7
Add procedure for setting a kafka stream offset ( #282 )
2021-11-11 12:07:58 +01:00
Jure Bajic
a9b1ff9bea
Support Bolt v4.3 protocol ( #226 )
2021-10-28 13:05:09 +02:00
Antonio Andelic
bd21bc82b7
Add license to cpp/hpp/py test files ( #283 )
2021-10-26 08:53:56 +02:00
Antonio Andelic
1a78c3695d
Support multiple types for weighted shortest path ( #278 )
2021-10-19 14:39:23 +02:00
Kostas Kyrimis
10196f3d7d
Add bootstrap servers to create stream ( #274 )
2021-10-18 10:49:00 +02:00
Jure Bajic
6033fbe9bd
Clean up topics before starting test ( #267 )
2021-10-14 16:57:46 +02:00
Antonio Andelic
6dc2cdfae4
Fix trigger with detach delete ( #266 )
2021-10-12 16:21:28 +02:00
Kostas Kyrimis
24a576c8e9
Make write procedures trigger aware ( #262 )
2021-10-11 13:39:57 +02:00
Kostas Kyrimis
d04e23805d
Address temporal type epic comments ( #249 )
2021-10-02 18:48:50 +02:00
Kostas Kyrimis
7e82cc6550
Add uniform naming for temporal type properties ( #246 )
2021-10-02 16:14:27 +02:00
Kostas Kyrimis
18b801a722
Add e2e tests for temporal types ( #241 )
2021-10-02 15:31:00 +02:00
Kostas Kyrimis
7e81a95b81
Fix parsing negative durations ( #237 )
2021-10-02 15:30:35 +02:00
Kostas Kyrimis
8ea281649a
Remove support for iso duration and fix bolt ( #235 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
da68f86fc9
Add support for printing out in the ast temporal data values ( #227 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
738b5fb8d8
Add duration support for timestamp function ( #236 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
b45ae403e6
Define dump command for all temporal types ( #225 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
d744711e5e
Define functions that return a specific field of each temporal type ( #221 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
8d87e38c64
Add temporal type arithmetic for queries ( #214 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
086fc47769
Define subtraction and addition for temporal types ( #209 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
5abcb5081d
Define timestamp function that return temporal types in microseconds since epoch representation ( #205 )
2021-10-02 14:54:48 +02:00
antonio2368
e2112faff0
Functions for defining temporals ( #197 )
2021-10-02 14:54:47 +02:00
Kostas Kyrimis
6913feacc7
Add support for temporal data types in the communication Bolt layer ( #198 )
2021-10-02 14:54:47 +02:00
antonio2368
4e604de9d7
Add support for parsing temporal types ( #187 )
2021-10-02 14:54:45 +02:00
antonio2368
e628b5ba6e
Add temporal types to TypedValue ( #176 )
2021-10-02 14:53:53 +02:00
antonio2368
5da32c1bff
Add TemporalData to PropertyValue ( #174 )
2021-10-02 14:53:53 +02:00
János Benjamin Antal
ccca46370d
Fix RWTypeChecker and some small improvements ( #247 )
...
* Fix doc of mgp_graph_vertices
* Make write_proc example meaningful write procedure example
* Improve wrap_exceptions
* Add check for write procedures for ReadWriteTypeChecker
* Change error code in case of invalid default value for optional arguments
2021-10-02 13:18:37 +02:00
János Benjamin Antal
721eefe263
Handle write procedures in queries and update docs of properties iterator ( #238 )
2021-10-02 13:18:36 +02:00
János Benjamin Antal
be9ed7e879
Python wrapper for write procedures ( #234 )
...
* Rename mgp_graph_remove to mgp_graph_delete
* Add mgp_graph_detach_delete
* Add PyGraph functions
* Add _mgp exceptions
* Use unified error handling in python wrapper
* Ignore clang-tidy warnings
* Add mgp.Graph, mgp.Vertex and mgp.Edge mutable functions
* Add python write procedure registration
* Add `is_write` result field to mg.procedures
* Use storage::View::NEW for write procedures
* Add simple tests for write procedures
* Remove false information about IDs
2021-10-02 13:17:41 +02:00
Benjamin Antal
482798295e
Add write procedures
2021-10-02 13:17:41 +02:00
antonio2368
d58a1cbb58
License key introduction and removing community edition package ( #232 )
2021-09-29 19:14:39 +02:00
antonio2368
8dc3153fde
Don't strip queries after execute for CREATE TRIGGER only ( #245 )
2021-09-24 13:14:05 +02:00
antonio2368
9f855676cb
Add jemalloc purge ( #239 )
2021-09-21 14:43:27 +02:00
Jure Bajic
f560293657
Add Property Map support in CREATE clause ( #220 )
2021-09-09 12:39:13 +02:00
János Benjamin Antal
2afc1b99f6
New MGP API ( #219 )
2021-09-09 10:44:47 +02:00
antonio2368
5a8bda2531
Improve MERGE performance by using indices ( #213 )
2021-08-30 11:39:06 +02:00
János Benjamin Antal
09cfca35f8
Add privilege check in triggers and streams ( #200 )
2021-07-22 16:22:08 +02:00
Jure Bajic
945bbfdc49
Clean up containers ( #201 )
2021-07-19 08:40:28 +02:00
antonio2368
e51954fc94
Update toolchain to v3 ( #189 )
...
* Make memgraph buildable with new toolchain
* Use toolchain v3 in workflows
2021-07-08 14:20:48 +02:00
antonio2368
ae280fd8db
Polishing and fixes ( #196 )
...
* Remove SHOW from Memgraph lexer
* Change get_payload to payload
2021-07-07 18:04:17 +02:00
János Benjamin Antal
fb5a2ed4b6
Small improvements for streams ( #193 )
...
* Add timeout to CHECK STREAM
* Handle RdKafka::ERR__MAX_POLL_EXCEEDED in consumer
Co-authored-by: Jure Bajic <jbajic@users.noreply.github.com>
Co-authored-by: Jure Bajic <jbajic@users.noreply.github.com>
2021-07-07 16:19:59 +02:00
antonio2368
6cfec787dc
Allow dash in topic name ( #192 )
...
* Support dash in the topic names
* Add more topic names and consumer groups in tests
2021-07-07 16:19:59 +02:00
János Benjamin Antal
13c9bf76af
Add e2e tests for streams ( #190 )
...
* Add base of e2e tests
* Add python dependencies
* Explicitly close customer in destructor
* Parametrize tests and add test for CHECK STREAM
* Add tests for SHOW STREAMS
* Add test for concurrent start/stop during check
* Add test for calling check with an already started stream
* Run streams e2e tests on CI servers
Co-authored-by: antonio2368 <antonio2368@users.noreply.github.com>
Co-authored-by: Jure Bajic <jbajic@users.noreply.github.com>
2021-07-07 16:19:59 +02:00
János Benjamin Antal
ad32db5168
Use transformations in streams and CHECK STREAM ( #185 )
...
* Use the correct transformation result type
* Execute the result queries in streams
* Change the result type of parameters to nullable map
* Serialize transformation name
* Fix order of transformation parameters
* Use actual transformation in Streams
* Clear the Python transformations under GIL
* Add CHECK STREAM query
* Handle missing record fields properly
2021-07-07 16:19:59 +02:00
Kostas Kyrimis
a37755ce43
Add remaining query functionality SHOW STREAMS ( #184 )
...
* Add query functionality SHOW STREAMS
2021-07-07 16:13:26 +02:00
Kostas Kyrimis
a928c158da
Add python API for messages transformations ( #181 )
...
* Add python messages/transformations implementation
* Added fixed result return type to transformations
* Added is_deprecated to mgp_trans
2021-07-07 16:08:23 +02:00
János Benjamin Antal
ac230d0c2d
Add basic queries for managing streams ( #179 )
...
* Add CREATE, START, STOP and DROP queries
* Fix definition of port in replica query
* Explicitly stop the consumer before removing
* Fix offset committing in Consumer
* Add tests for basic stream queries
* Remove unnecessary WITH keywords from CREATE query
* Add tests
* Add STREAM privilege
* Disable not working test
The functionality is tested manually, but I couldn't make it work with
the mock kafka cluster.
* Add support for multiple topic names
* Replace skiplist by synchronized map
* Make Consumer::Test const and improve error handling
The improvement in the error handling is mostly done regarding to the
Test function. Instead of trying to revert the assignments, Test just
stores the last commited assignment. When Start or Test is called, they
check for the last commited assignments, and if it is saved, then they
try to restore it. This way:
1. All the failures are returned to the user (failed to save/restore)
2. Failed assignment cannot terminate Memgraph
* Make Test do not block creating/droping other streams
2021-07-07 16:08:22 +02:00
Kostas Kyrimis
d80ff745eb
Introduce mgp_trans api ( #175 )
...
* Added public interface for registering mgp_trans and extended modules accordingly
* Added test for mgp_trans
* Added mg.transformations() to the module registry
Co-authored-by: János Benjamin Antal <antaljanosbenjamin@users.noreply.github.com>
2021-07-07 15:57:36 +02:00
János Benjamin Antal
d6a6d280dd
Add Streams on top of Kafka Consumer ( #172 )
...
* Stop the Consumer grafefully when it is destroyed
* Add Streams
* Add Streams to InterpreterContext
* Remove options to limit processed batches in Consumer
* Add Streams unit tests
* Stop waiting for a full batch if the Consumer stopped
* Add ReadLock functionality to Synchronized
* Use per Consumer-based locking
* Replace shared_mutex with RWLock
2021-07-07 15:57:36 +02:00
Kostas Kyrimis
4004e94ca1
Introduce messages C-API ( #168 )
2021-07-07 15:38:51 +02:00
János Benjamin Antal
36afc6c5f3
Add Kafka consumer ( #167 )
...
* Add CMake config for Kafka integration
* Add Consumer
* Add simple unit test for consumer
* Add explicit offset handling and test for it
2021-07-07 15:38:51 +02:00
antonio2368
3b336e3e0b
Add CREATE SNAPSHOT query ( #182 )
2021-06-30 12:31:30 +02:00
antonio2368
715162e205
Disable LOAD CSV with config ( #180 )
2021-06-30 11:19:13 +02:00
antonio2368
e016c74e4b
Trigger restore after query modules load ( #183 )
2021-06-30 10:01:51 +02:00
antonio2368
15911b64dc
Use timers for query timeout thread ( #163 )
...
Co-authored-by: Benjamin Antal <benjamin.antal@memgraph.io>
2021-06-16 16:03:58 +02:00
antonio2368
cbf826e0c3
Load WAL on replica using transactions ( #95 )
2021-06-16 13:22:48 +02:00