Tyler Neely
ea533f43fc
Print out the simulator seed when we exceed the configured abort_time
2022-11-22 16:06:57 +00:00
Tyler Neely
e0086e5666
Use spdlog::trace instead of info for simulator-related messages
2022-11-22 16:06:35 +00:00
Tyler Neely
c0a103e851
Do not advance the clock with every message, as this prevents messages of a certain request depth from ever completing
2022-11-22 16:00:06 +00:00
Tyler Neely
c8c72de6ac
Use duration_cast to ensure that we are retrieving milliseconds inside SimulatorStats::operator<<
2022-11-22 11:30:24 +00:00
Tyler Neely
66f39f2681
Add elapsed time to the SimulatorStats
2022-11-22 08:55:48 +00:00
Tyler Neely
081c3e5bed
Capitalize unsigned integer literal
2022-11-21 13:16:35 +00:00
Tyler Neely
0f66ae31dd
Use explicit unsigned integer in right shift operation
2022-11-21 11:11:39 +00:00
Tyler Neely
71dcba331e
Increment simulator time by up to 30ms in ticks
2022-11-21 10:10:45 +00:00
Tyler Neely
e43f4e2181
Sort simulator in_flight_ messages based on a stable sort of the sender address
2022-11-21 10:08:42 +00:00
Tyler Neely
45badbe21f
Use unsigned integer literals for bit shifting in the NewShardUuid function
2022-11-18 17:22:50 +00:00
Tyler Neely
ce45a548c7
Significantly improve the determinism of the coordinator, UUID generation, the machine manager, the shard manager, and the cluster property test
2022-11-18 16:42:18 +00:00
Tyler Neely
7115a7e75b
Apply clang-tidy fixes
2022-11-18 10:24:19 +00:00
Tyler Neely
0f32407bdc
Add compare header to histogram collector header
2022-11-18 10:20:45 +00:00
Tyler Neely
a37e7e4aff
Add assert to ensure TestAddress will not be higher than the uchar max
2022-11-18 10:19:55 +00:00
Tyler Neely
6b9a617df0
Streamline simulator tick condition varible notification. Advance time more aggressively
2022-11-18 09:20:15 +00:00
Tyler Neely
923325b8fa
Progress the simulator clock even when there are messages to deliver
2022-11-18 09:04:29 +00:00
Tyler Neely
f6017697d6
Make raft tests fully deterministic for rng_seeds between 0 and 500 at 1% message loss
2022-11-17 21:32:55 +00:00
Tyler Neely
cf73ed529d
Block messages from being delivered upon ShutDown
2022-11-17 21:27:48 +00:00
Tyler Neely
262df5c6a2
Avoid unordered_map in Raft code for more determinism
2022-11-17 21:24:13 +00:00
Tyler Neely
098084314e
Make TestAddress deterministically sortable
2022-11-17 21:22:41 +00:00
Tyler Neely
12880fc71a
Don't advance the simulator handle from server threads themselves
2022-11-17 18:27:12 +00:00
Tyler Neely
80d6776210
Improve simulator determinism
2022-11-17 17:36:46 +00:00
János Benjamin Antal
32fe4d94d9
Merge branch 'project-pineapples' into T1145-MG-handle-insertions-of-vertices-that-already-exist-in-a-better-way
2022-11-08 16:35:38 +01:00
János Benjamin Antal
159b30ba5f
Merge branch 'project-pineapples' into T1148-MG-fix-expand-one-source-vertex
2022-11-08 08:20:25 +01:00
gvolfing
b67e5b9a6c
Merge branch 'project-pineapples' into T1145-MG-handle-insertions-of-vertices-that-already-exist-in-a-better-way
2022-11-08 07:53:45 +01:00
jbajic
88487e2513
Extract vertex creation from FillUpSourceVertexSecondaryLabels
2022-11-07 10:54:28 +01:00
gvolfing
39b40ecf00
Extend the Error enum instead of a separate type
...
The error representing that a vertex is already inserted into the
skip-list was represented by the struct AlreadyInseertedElement. Instead
of using that struct, extend the memgraph::storage::v3::Error scoped
enum and use that to represent the double-insertion error.
2022-11-07 10:00:34 +01:00
Tyler Neely
1abfe28806
Correctly use a moved transport interface while constructing CoordinatorWorker
2022-11-04 15:11:32 +00:00
Tyler Neely
528e30a9be
Avoid warning for not using captured this. Use std::move instead of forward where appropriate
2022-11-04 14:13:15 +00:00
Tyler Neely
bb7c7f7627
Make popped messages non-const to allow for RVO
2022-11-04 14:07:49 +00:00
jbajic
bab5e1386a
Address review comments
2022-11-04 15:05:55 +01:00
gvolfing
3d954e7abc
Restructure SchemaResult type and uts usage
...
Rename SchemaResult to ShardOperationResult move it into a separate
header and add a new type to the underlying variant that indicates that
the vertex, the user would like to insert into the skip-list already
exist.
2022-11-04 15:04:25 +01:00
Tyler Neely
fa5c9a2568
Make items popped from *worker::Queue const. Use std::move instead of std::forward in one place
2022-11-04 11:33:02 +00:00
Tyler Neely
c745f8c877
Fix build after breaking code suggestion
2022-11-04 11:32:17 +00:00
Tyler Neely
486231b1b9
Update src/machine_manager/machine_manager.hpp
...
Co-authored-by: Kostas Kyrimis <kostaskyrim@gmail.com>
2022-11-04 12:28:01 +01:00
Tyler Neely
43ad5855c4
Update src/machine_manager/machine_manager.hpp
...
Co-authored-by: Kostas Kyrimis <kostaskyrim@gmail.com>
2022-11-04 12:27:40 +01:00
Tyler Neely
24864ff7d2
Update src/coordinator/coordinator_worker.hpp
...
Co-authored-by: Kostas Kyrimis <kostaskyrim@gmail.com>
2022-11-04 12:17:57 +01:00
Tyler Neely
8598f6edf4
Fix a race condition that happens when logging from a detached thread in the cluster property test. Improve the ShardManager dtor and log statements
2022-11-04 11:14:39 +00:00
gvolfing
1cee7ecb8a
Make ShardRsm aware of trying to write the same vertex into the skip-list
2022-11-04 08:12:37 +01:00
jbajic
3a8f01af79
Fix expand one source vertex pk setting
2022-11-03 16:29:28 +01:00
Tyler Neely
7e6ec8bb26
Capture this instead of all references in scope for call to std::visit to route CoordinatorWorker messages
2022-11-03 14:38:16 +00:00
Tyler Neely
2de1d6c359
Fix UB due to integer overflow
2022-11-03 13:27:45 +00:00
Tyler Neely
9235515dab
Reduce high_density_shard_create_scan shard+thread combinations. Log Raft write request demangled names
2022-11-03 12:38:12 +00:00
Tyler Neely
b83fb287ad
Apply feedback from clang-tidy
2022-11-03 11:00:07 +00:00
Tyler Neely
b685a21171
Merge branch 'project-pineapples' of github.com:memgraph/memgraph into T1122-MG-ShardManager-ThreadPool
2022-11-03 09:42:28 +00:00
Tyler Neely
4db83b8159
Add a few safety checks to the new concurrent Queue structures and the promise maps in the transport layer
2022-11-03 09:41:28 +00:00
Tyler Neely
dd8dd4f6c4
Restructure responsibilities for assigning request ids to the transport handles. Simplify promise tracking to avoid replier addresses, enabling eventual direct server return (DSR)
2022-11-03 09:31:06 +00:00
Tyler Neely
fa1ddfea12
Fix a bug where the MachineManager's destructor became incorrect after being moved
2022-11-02 17:45:27 +00:00
Tyler Neely
a815ec9617
Handle Coordinator work on a separate thread, unblocking the MachineManager to route additional messages to Shards
2022-11-02 17:15:52 +00:00
Tyler Neely
78528bd609
Avoid the ShutDown explicit acknowledgement due to jthread already blocking on this
2022-11-02 17:12:21 +00:00