antonio2368
13ea35af2d
Fix permission for newer queries ( #156 )
2021-05-26 10:02:25 +02:00
antonio2368
999b3ef79f
Fix memory tracking issues ( #150 )
2021-05-18 18:42:19 +02:00
antonio2368
30413a7b4f
Ignore carriage return at the end of line for a CSV file ( #151 )
2021-05-18 13:44:29 +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
27f09e1c0a
Make LOAD CSV query part separator ( #130 )
2021-03-29 16:40:55 +02:00
Josip Seljan
6dd9d32721
Fix scoped profile operator names for ScanAll operators ( #129 )
2021-03-28 09:27:02 +02:00
antonio2368
276e09d7d3
Fix reading rows with empty columns at the end ( #127 )
...
* Fix reading rows with empty columns at the end
* Update CHANGELOG for the recovery logs
2021-03-27 09:47:41 +01:00
János Benjamin Antal
06f761bdf9
Add logs for loading snapshot and WAL files ( #121 )
...
* Add logs for loading snapshot and WAL files
2021-03-26 15:02:35 +01:00
antonio2368
50ddd59450
Fix Centos8 build ( #126 )
...
* Increase server wait
* Use standard shebang for python scripts
2021-03-26 12:05:58 +01:00
antonio2368
ad4c80af13
Add memory limit clause for cypher queries ( #106 )
...
* Add memory limit clause for cypher queries
* Add PROCEDURE and QUERY keywords
* Improve memory limit logs
* Update CHANGELOG
2021-03-24 15:21:11 +01: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
antonio2368
bbed7a2397
Add memory tracker definition ( #93 )
...
* Allow size 0 in MemoryTracker
* Block only exception throwing
* Subtract unsuccessfully allocated size in memory tracker
* Add oom exception enablers and blockers
2021-03-24 14:53:15 +01:00
antonio2368
e8810a4152
Add and use jemalloc lib ( #90 )
...
* Add and use jemalloc lib
* Add autoconf
* Silence macro redefinition warning
2021-03-24 14:53:15 +01:00
Josip Seljan
25eb2c147a
LOAD CSV implementation fixes ( #120 )
...
* Change how csv::Reader handles memory resources
* Add multiline quoted string test
2021-03-24 12:21:07 +01:00
antonio2368
d913a67e16
Add parsing improvements ( #108 )
...
* Add parsing improvements
2021-03-24 12:21:07 +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
Josip Seljan
f6d5f576d5
CSV reader class ( #98 )
...
* CSV parsing class
* Basic CSV parsing tests
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
593f7a3499
Add query module counters to telemetry ( #112 )
2021-03-18 11:03:42 +01:00
antonio2368
35d789c56b
Allow multiple folders for query modules ( #105 )
...
* Allow multiple query modules directories as arg
2021-03-10 12:18:09 +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
2e0dd19bac
Add machine-id to telemetry if not docker ( #103 )
...
* Add machine-id to telemetry if not docker
* Improve telemetry integration test
2021-03-08 15:15:58 +01:00
antonio2368
f807b495ab
Update commit log after recovery ( #96 )
...
* Define additional commit log constructor which takes an oldest active id
* Delay commit log construction until the recovery process is finished
* Add test for commit log with initial id
* Silence the macro redefinition warning
2021-02-19 11:00:10 +01:00
antonio2368
3f3c55a4aa
Format all the memgraph and test source files ( #97 )
2021-02-18 15:32:43 +01:00
Marko Budiselić
fae407d3fe
Add implementation of average number of equals estimate in SkipList ( #9 )
...
* Implement average number of equals estimate in SkipList
2021-02-10 14:38:54 +01:00
Marko Budiselić
90d4ebdb1e
Polish CI scripts ( #83 )
...
* Add Jepsen to the release workflow
* Increase the long-running stress timeout to 16 minutes
* Remove ha_client code
2021-01-26 18:57:23 +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
e866526c7a
Fix Centos build ( #79 )
...
* Don't run DocsHowToQuery.java on CentOS
Co-authored-by: Antonio Andelic <antonio.andelic@memgraph.com>
2021-01-24 08:17:21 +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
antonio2368
10c8256ec9
Fix epoch id handling ( #73 )
2021-01-21 15:56:21 +01:00
Josip Seljan
8fc9298832
Avoid crashing the db when the ip address is invalid in a REGISTER REPLICA query ( #74 )
...
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
antonio2368
b7bbd026de
Add large Jepsen test ( #67 )
...
* Fix WAL recovery step
2021-01-21 15:56:21 +01:00
antonio2368
adc355a22a
Small replication fixes ( #59 )
...
* Set state to invalid after exception
* Add proper locking
* Start background replicating only if in valid state
* Freeze transaction timestamp on replica
* Timeout fixes
* Fix Jepsen run script
* Disable perf checker and enable nemesis
* Add documentation for some chunks of code
* Decrease timeout so main doesn't hang on network partitions too long
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
Josip Seljan
87e00f4fef
Add support for specifying the replica port to SET REPLICATION ROLE query ( #61 )
...
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:49:32 +01:00
antonio2368
f7b764607d
Improve error handling ( #56 )
2021-01-21 15:49:32 +01:00
antonio2368
200ce5f45e
Add configs and support for semi-sync and SSL ( #55 )
...
* Add config for replication client/server
* Add SSL to replication
* Add semi-sync replication
* Expose necessary information about replication
* Thread pool fix
* Set BasicResult value type to void
2021-01-21 15:49:32 +01:00
antonio2368
a0705746cb
Add epoch id and refactor replication client/server ( #51 )
2021-01-21 15:49:32 +01:00
Josip Seljan
4e36b646df
Replace "CREATE REPLICA" query with "REGISTER REPLICA" ( #50 )
...
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:49:32 +01:00
antonio2368
7e9175052a
Define communication process ( #49 )
...
* Add basic communication process using commit timestamp
* Add file number to req
* Add proper recovery handling
* Allow loading of WALs with same seq num
* Allow always desired commit timestamp
* Set replica timestamp for operation
* Mark non-transactional timestamp as finished
2021-01-21 15:49:32 +01:00
Josip Seljan
3c85319701
Update replication queries to follow the new replication nomenclature ( #48 )
...
* MODE -> ROLE
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:49:32 +01:00