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
Jure Bajic
16709dff6c
Add stats and notifications in results metadata ( #285 )
2021-11-15 13:51:13 +01:00
Kostas Kyrimis
10196f3d7d
Add bootstrap servers to create stream ( #274 )
2021-10-18 10:49:00 +02:00
Jure Bajic
9e678f8cbe
Add new memgraph licenses and move third party licenses ( #248 )
2021-10-03 12:26:48 +02:00
Kostas Kyrimis
9534dfb6ed
Change the timestamp function to return microseconds instead of milliseconds ( #204 )
2021-10-02 14:54:48 +02:00
antonio2368
d58a1cbb58
License key introduction and removing community edition package ( #232 )
2021-09-29 19:14:39 +02:00
antonio2368
9f855676cb
Add jemalloc purge ( #239 )
2021-09-21 14:43:27 +02:00
János Benjamin Antal
09cfca35f8
Add privilege check in triggers and streams ( #200 )
2021-07-22 16:22:08 +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
Kostas Kyrimis
2e1a717dcb
Add telemetry for streams and triggers ( #188 )
...
* Add event counters to streams and triggers
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
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
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
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
8cd9f696cf
Multiple isolation levels ( #171 )
...
This PR introduces READ COMMITTED and READ UNCOMMITTED isolation levels.
The isolation level can be set with a config or with a query for different scopes.
2021-06-14 15:47:57 +02:00
antonio2368
560eb04f67
Small trigger fixes ( #158 )
...
* Fix warning message
* Update version
* Run query callbacks only on pull
* Use warn level for failure of loading a trigger
2021-05-26 19:57:08 +02:00
János Benjamin Antal
e8a1d15a55
Add filtering based on registered event types ( #155 )
...
* Add filtering to TriggerContextCollector
* Add all predefined variable to ANY triggers
* Make variable names consistent with event types
2021-05-26 14:37:11 +02:00
János Benjamin Antal
1abee1ed3a
Use single thread for after triggers ( #154 )
2021-05-26 14:36:41 +02:00
antonio2368
62a628c51f
Add trigger queries and trigger store ( #145 )
...
Co-authored-by: Benjamin Antal <benjamin.antal@memgraph.io >
2021-05-26 14:36:41 +02:00
antonio2368
883f9c7ed3
Trigger event types ( #144 )
...
Co-authored-by: Benjamin Antal <benjamin.antal@memgraph.io >
2021-05-26 14:13:14 +02:00
antonio2368
b459639968
Other predefined variables ( #143 )
2021-05-26 14:13:14 +02:00
antonio2368
11c0dde11c
Support removed vertices in the triggers ( #140 )
2021-05-26 14:13:14 +02:00
antonio2368
2f3fa656d9
Predefined variables ( #138 )
...
* Add support for injecting predefined variables in any scope
2021-05-26 14:13:14 +02:00
antonio2368
7bf40eb5d2
Add support for after commit triggers ( #136 )
2021-05-26 14:13:14 +02:00
antonio2368
7e44434cdf
Initial trigger definition ( #133 )
...
* Pull out cypher query parsing logic
* Define trigger structure
* Run triggers before commit
* Use skip list for saving triggers
2021-05-26 14:13:14 +02:00
antonio2368
999b3ef79f
Fix memory tracking issues ( #150 )
2021-05-18 18:42:19 +02:00
antonio2368
8de31092ad
Add back the query memory limit logic ( #134 )
2021-04-13 10:41:50 +02:00
János Benjamin Antal
6d4fe5cdd5
Explore and implement the usage of clang-tidy and sanitizers ( #125 )
...
* Run clang-tidy on the full code base
* Run clang-tidy on diffs
* Enable ASAN in coverage build
* Add UBSAN to code analysis
2021-04-01 17:08:40 +02:00
antonio2368
9c6bf4b1b8
Updated storage info ( #102 )
...
* Refactor readable size function
* Log set memory limit
* Add memory allocation info to storage
* Updated changelog
2021-03-24 15:10:28 +01:00
antonio2368
cc56ac3dd8
Expose query for cleaning memory and add memory limit flag ( #100 )
...
* Add memory flag, add additional meminfo utilities
* Add free memory query
2021-03-24 15:10:28 +01:00
antonio2368
dee885d69c
Add exception enablers and blockers ( #99 )
...
* Throw OOMException while creating vertices and edges
* Throw on indices creation
* Throw on setting a property
* Throw oom exception while recovering
* Throw exception when query engine asks for extra memory
* Block out of memor exception during skip list GC
2021-03-24 14:53:15 +01:00
Josip Seljan
f950a91732
Add LOAD CSV clause infrastructure ( #101 )
...
* Add LOAD CSV clause infrastructure
* Add LoadCsv operator
* Update csv::Reader class
* Support csv files with and without header
Co-authored-by: jseljan <josip.seljan@memgraph.io >
2021-03-24 12:21:07 +01:00
antonio2368
dc5eb4befd
Fix module reload ( #114 )
...
* Fix module reload
2021-03-22 09:37:35 +01:00
antonio2368
16715d5005
Enable replication in community ( #104 )
...
* Enable replication in community
2021-03-10 10:36:38 +01:00
antonio2368
a9f5f45b3d
Improve telemetry data ( #89 )
...
* Add query type count to telemetry
* Extract telemetry data in different structure
* Add global event counter
2021-03-09 19:55:58 +01:00
antonio2368
3f3c55a4aa
Format all the memgraph and test source files ( #97 )
2021-02-18 15:32:43 +01:00
Josip Seljan
46b1783618
Forbid write queries on a replica ( #80 )
...
Co-authored-by: jseljan <josip.seljan@memgraph.io >
2021-01-25 09:13:32 +01:00
antonio2368
28413fd626
Change log library to spdlog, expose log levels to user ( #72 )
...
* Change from glog to spdlog
* Remove HA tests
* Remove logrotate log configuration
* Define custom main for unit gtests
2021-01-21 16:30:55 +01:00
antonio2368
c0bd59bb09
Fix recovery process ( #78 )
...
* Use correct last loaded timestamp for WAL
2021-01-21 15:56:21 +01:00
antonio2368
a84ffe86c1
Add LOCK DATA DIRECTORY query ( #68 )
2021-01-21 15:56:21 +01:00
Josip Seljan
8f5b88f24a
Fix how query read/write type RWType is determined ( #71 )
...
Co-authored-by: jseljan <josip.seljan@memgraph.io >
2021-01-21 15:56:21 +01:00
Marko Budiselić
9966ba1d52
Improve Jepsen run script ( #64 )
...
Co-authored-by: Antonio Andelic <antonio.andelic@memgraph.io >
2021-01-21 15:56:21 +01:00
Josip Seljan
bff9cf07de
Fix replication queries ( #65 )
...
* Fix replication query visitors
* Improve error handling in ReplQueryHandler methods
Co-authored-by: jseljan <josip.seljan@memgraph.io >
2021-01-21 15:56:21 +01:00
Josip Seljan
a0fb3fc463
Implement ReplicationQueryHandler class ( #52 )
...
* Refactor io::network::Endpoint class
* Add ParseSocketOrIpAddress static method to Endpoint class
* Implement ReplQueryHandler methods
* Add implementation of SetReplicationRole to ReplQueryHandler
* Fix PrepareReplicationQuery (create PullPlanVector)
Co-authored-by: jseljan <josip.seljan@memgraph.io >
2021-01-21 15:56:21 +01:00