Skip to content
Snippets Groups Projects
Verified Commit 10b6eb1c authored by Yaroslav Dynnikov's avatar Yaroslav Dynnikov
Browse files

Squash the huge patch

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
parent b6e06a8e
No related branches found
No related tags found
1 merge request!71Fair raft join
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment