Skip to content
Snippets Groups Projects
  • Yaroslav Dynnikov's avatar
    10b6eb1c
    Squash the huge patch · 10b6eb1c
    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
    Verified
    10b6eb1c
    History
    Squash the huge patch
    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