Tyler Neely
9ae1671e4f
Fix bug with MgFuture where its safety check was not correctly initialized
2022-07-20 18:17:06 +00:00
Tyler Neely
b4afe45de5
Handle Request timeouts properly in the simulator
2022-07-20 17:18:07 +00:00
Tyler Neely
581925e660
Fix a few bugs, expose stats
2022-07-20 17:07:18 +00:00
Tyler Neely
afef6dc11b
A large batch of bug fixes and clean-ups
2022-07-20 13:18:00 +00:00
Tyler Neely
689336e765
Fix several bugs, clean-ups and tuning
2022-07-19 14:57:01 +00:00
Marko Budiselic
1480d975a7
Fix the basic_request example, something sill broken
2022-07-17 17:22:39 +02:00
Tyler Neely
9dc37a87f7
Enable more aggressive message scrambling to get a race condition to jump out about 0.2% of the time
2022-07-15 16:46:54 +00:00
Tyler Neely
46a2879ece
Fix a number of bugs in raft, and it can now go for around 1400 simulations before hitting a race condition
2022-07-15 16:44:42 +00:00
Tyler Neely
b2142e8d38
Remove unnecessary log message
2022-07-15 16:20:05 +00:00
Tyler Neely
0dc69c180d
Start cranking up the testing intensity and fix a variety of correctness and code quality issues
2022-07-15 16:19:00 +00:00
Tyler Neely
ad1d8637e5
Fix race condition in simulator. Make leader election function more reliably in raft code
2022-07-15 09:07:39 +00:00
Tyler Neely
4876b7cd8c
Start removing load-bearing sleep statements to get race conditions to jump out in the simulator
2022-07-15 05:43:40 +00:00
Tyler Neely
a6133dab49
Start to tune various timeouts in the raft implementation
2022-07-15 05:38:04 +00:00
Tyler Neely
3466c15f76
Make raft work in the happy path
2022-07-14 19:57:52 +00:00
Tyler Neely
63beeb8771
Send log state along with AppendRequest messages from Leader
2022-07-14 19:06:56 +00:00
Tyler Neely
d14f7705b1
Get most of the raft data path up and running
2022-07-14 18:45:24 +00:00
Tyler Neely
5e98971bb2
Continue filling out AppendEntries state transition logic
2022-07-14 13:06:54 +00:00
Tyler Neely
80970a97f0
Get basic leader election to work and clean some things up
2022-07-14 12:18:09 +00:00
Tyler Neely
57533f2746
A large number of scattered cleanups. Don't use transport Request in state machine code
2022-07-14 10:50:49 +00:00
Tyler Neely
1a12a80af0
Continue to implement raft state machine transitions
2022-07-14 07:09:50 +00:00
Tyler Neely
30c97e658d
Implement some more of the raft state machine transitions
2022-07-13 22:31:51 +00:00
Tyler Neely
48ee40ce87
Start to fill out more raft logic now that role-specialized Handle and Cron are in place
2022-07-13 06:50:16 +00:00
Tyler Neely
d6742f643c
Significant simplification of event-handling logic by using std::visit while matching on both the message type and node role
2022-07-12 19:04:32 +00:00
Tyler Neely
2e5d8b7e8c
Check-in in-progress work for raft test on top of simulator
2022-07-11 18:01:13 +00:00
Tyler Neely
88eee66258
Small cleanup of basic_request test
2022-07-11 18:00:30 +00:00
Tyler Neely
15d637729e
Clean-up basic_request example
2022-07-08 14:10:33 +00:00
Tyler Neely
5ee95a2e70
Add ShutDown method to Simulator and update basic_request test to utilize it
2022-07-08 14:05:02 +00:00
Tyler Neely
eee2a7e019
Fix memory leak caught by LSAN
2022-07-08 11:04:44 +00:00
Tyler Neely
25b0a445b9
Properly fill response promises in the simulator
2022-07-08 08:21:37 +00:00
Tyler Neely
20a6dae047
Get the message receive path up and running. Large number of small refactors
2022-07-07 20:58:16 +00:00
Tyler Neely
04dbedc3af
Add functionality for converting from std::any to a std::variant. Improve type names. Continue simulator implementation
2022-07-07 11:27:02 +00:00
Tyler Neely
a0058bc10a
Add OpaquePromise type with correct dtor. Make a few structs comparable for storage in maps. Fix initialization of Shared
2022-07-06 15:19:16 +00:00
Tyler Neely
f601e83f6f
Continue structuring the simulator and filling in its implementation
2022-07-05 21:11:39 +00:00
Tyler Neely
e1aab7065f
Use TSAN on futures test. Continue implementation of simulator
2022-07-05 18:02:01 +00:00
Tyler Neely
28516763b9
Fix issue with movement/consumption tracking in MgFuture and MgPromise
2022-07-05 17:36:47 +00:00
Tyler Neely
6debc9e7d8
Revamp MgFuture, continue threading logic through Simulator
2022-07-05 15:45:59 +00:00
Tyler Neely
eb4ca543ea
Continue to implement the simulated transport
2022-07-04 21:42:10 +00:00
Tyler Neely
38ca430713
Small refactor of cmake for simulator test
2022-07-04 20:44:51 +00:00
Tyler Neely
24128e0bca
Check-in new test
2022-07-04 19:42:23 +00:00
Tyler Neely
73719b2120
Continue to bolt-down MgFuture impl
2022-07-04 18:54:09 +00:00
Tyler Neely
20839b0ae0
Add simple test for MgFuture
2022-07-04 15:00:32 +00:00
Tyler Neely
6cec9acbb9
Add basic test skeleton
2022-07-04 11:56:41 +00: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