- Apr 20, 2022
-
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
Replace macros with function in `traft::node`.
-
Yaroslav Dynnikov authored
-
- Apr 18, 2022
-
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
Remove prctl dependency that is not available on mac.
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
This pach establishes a friendship between discovery and raft_join.
-
Yaroslav Dynnikov authored
-
Yaroslav Dynnikov authored
feat: raft peer discovery PoC chore: prevent C functions from being optimized out feat: improve peer discovery fix: fix tests after making instance_id arg mandatory Smart supevision with fork Make it work Under development IPC messages to supervisor One more little step: entrypoint enum Arrange IPC from child to supervisor Remove tarantool_main macro Persist snapshot Fix some fresh bugs Implement postjoin Discovery under refactoring Enhance discovery Working on discovery Fix all discovery bugs known so far Draft join algorithm Fail applying snapshot Joining a learner works Cleanup snapshot generation Reorganize traft code and call join automatically Change peer.commit_index type from option to u64 Implement autopromotion to voter Implement read_index Take read_index before self-romotion Cleanup excess logs Cleanup logs and code Deep refactoring in progress Finish refactoring db schema Embed entries applying inside traft node Refactor raft node communication Replace fiber channel with a mailbox, which is a `Vec<_>` + fiber cond. It allows to batch raft commands in a more predictable way and makes the code less error-prone. Remove commented code Simplify raft nodes interaction over net_box Eliminate `traft::Message` struct because its internals aren't used. Instead, serialize `raft::Message` using protobuf. Batch ConnectionPool requests 1. Send messages in batches. 2. Allow changing connection uri. 3. Close unused connections after `inactivity_timeout`. Enhance the raft node 1. Collect results from raft node 2. Fix initial bootstrap which used to fail due to fiber race. 3. Wrap raft storage operations in a transaction. Bump tarantool module Add documentation draft Cleanup warnings Try fixing tests Fix test_storage_log Fix test_traft_pool Fix luatest single and couple Start fixing threesome test Implement concurrent join requests handling
-
- Apr 15, 2022
- Apr 14, 2022
- Apr 11, 2022
-
-
Alexander Tolstoy authored
-
- Apr 06, 2022
-
-
Yaroslav Dynnikov authored
Also, use brand new `tarantool::proc` macro for stored procedres.
-
-
- Mar 17, 2022
-
-
Sergey V authored
-
- Mar 16, 2022
-
- Mar 15, 2022
-
-
Sergey V authored
-
- Mar 14, 2022
-
-
Sergey V authored
-
- Mar 11, 2022
-
-
Georgy Moshkin authored
-
Georgy Moshkin authored
-
Georgy Moshkin authored
-
Sergey V authored
-
- Mar 10, 2022
-
-
Georgy Moshkin authored
-
Georgy Moshkin authored
- don't patch if tarantool-sys/patch-applied exists - use a single build directory for `cargo build` & `cargo check`
-
- Mar 09, 2022
-
-
Georgy Moshkin authored
-
Georgy Moshkin authored
-
Georgy Moshkin authored
-
- Feb 22, 2022
-
-
Yaroslav Dynnikov authored
This patch introduces two tests: 1. `couple.test_failover` reproduces heatbeat timeout on a follower that leads to a new election. 2. `threesome.test_leader_dispuption` simulates disconnected follower. It shouldn't disrupt the leader in this case. Leader death is already tested in `threesome.test_log_rollback`. Close https://gitlab.com/picodata/picodata/picodata/-/issues/25
-
Yaroslav Dynnikov authored
Also, fix the code to pass the test: 1. Use `replace` instead of `insert` when appending entries. They may be overridden. 2. Increase pool worker queue size. Raft node may send several messages within a single tick. Without this change the second message is dropped. The second change is a poorly designed workaround. Constant limit doesn't seem to be both cost-effective and reliable at the same time, but we don't have a better solution at the moment. Close https://gitlab.com/picodata/picodata/picodata/-/issues/26
-
Yaroslav Dynnikov authored
-