Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement raft via gRPC #63

Merged
merged 35 commits into from
Sep 22, 2022
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
704a046
Replace toy-rpc with tonic gRPC
justinrubek Sep 1, 2022
e9ba6ea
implement glaredb cli for raft nodes and client
justinrubek Sep 8, 2022
7f82cf8
current progress
justinrubek Sep 8, 2022
116585a
implement begin, allocate_table, and get_schema
justinrubek Sep 8, 2022
d2bf520
implement scan
justinrubek Sep 9, 2022
2c8bd69
implement insert
justinrubek Sep 9, 2022
91f1656
cleanup
justinrubek Sep 9, 2022
7da5a5b
comment out old tests
justinrubek Sep 9, 2022
94887b1
clean up ConsensusClient
justinrubek Sep 9, 2022
296506f
Implement change membership command
justinrubek Sep 12, 2022
b9fc715
rewrite cluster tests to use RaftClientSource
justinrubek Sep 12, 2022
f6b12d2
add protoc to CI
justinrubek Sep 12, 2022
aef39eb
switch raft to in-memory implementation
justinrubek Sep 15, 2022
10e8175
Remove application logic from raft cluster tests
justinrubek Sep 15, 2022
770ad4b
cargo fmt
justinrubek Sep 15, 2022
5d3d314
add tracing to RPC impls
justinrubek Sep 15, 2022
a53f16a
Remove lemur from raft crate
justinrubek Sep 15, 2022
fbb700b
Merge branch 'main' into raft-source
justinrubek Sep 15, 2022
f67f47f
remove raft_client example
justinrubek Sep 15, 2022
2248bf7
Apply suggestions from code review
justinrubek Sep 16, 2022
bcff359
remove protoc from ci
justinrubek Sep 16, 2022
11cdcbf
Remove lemur_impl from raft crate
justinrubek Sep 16, 2022
361fc32
Store tonic clients instead of endpoint in ConsensusClient
justinrubek Sep 16, 2022
5d14c29
use shared n_retries
justinrubek Sep 16, 2022
5865095
Add default num_retries
justinrubek Sep 16, 2022
920de25
Apply suggestions from code review
justinrubek Sep 16, 2022
ab596ec
moved some mod.rs modules into their parent directories
justinrubek Sep 16, 2022
e8960e9
implement ConsensusClient retry to find leader using macro
justinrubek Sep 16, 2022
f7c655e
Merge branch 'main' into raft-source
justinrubek Sep 16, 2022
62dff06
Fix missing delimiter
justinrubek Sep 19, 2022
c04ecb5
fix clippy issues
justinrubek Sep 19, 2022
3553948
Merge branch 'main' into raft-source
justinrubek Sep 19, 2022
b39ddd3
rewrite retry_rpc_on_leader macro to evaluate to an expression
justinrubek Sep 22, 2022
188212b
remove panics in rpc server impls
justinrubek Sep 22, 2022
e764db3
Merge branch 'main' into raft-source
justinrubek Sep 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ jobs:
- name: Configure toolchain
uses: dtolnay/rust-toolchain@stable

- name: Configure protoc
uses: abelfodil/protoc-action@v1
with:
protoc-version: '3.19.4'

justinrubek marked this conversation as resolved.
Show resolved Hide resolved
- name: Unit tests
run: cargo test

Expand Down
200 changes: 6 additions & 194 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions crates/glaredb/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ path = "src/bin/main.rs"
[dependencies]
logutil = {path = "../logutil"}
lemur = {path = "../lemur"}
raft = {path = "../raft"}
storageengine = {path = "../storageengine"}
sqlengine = {path = "../sqlengine"}
pgsrv = {path = "../pgsrv"}
Expand Down
Loading