Bump raft-rs to 0.7.0
Subj: https://github.com/tikv/raft-rs/releases/tag/v0.7.0
Raft is the core feature of Picodata, so it's reasonable to keep it up to date.
Another reason to update is fixing the following protoc
issue:
Click to expand
Checking getopts v0.2.21
Checking itertools v0.10.5
Checking tarantool v0.7.0 (https://git.picodata.io/picodata/picodata/tarantool-module.git#320a3506)
Compiling nix v0.23.2
Checking uuid v1.2.2
Compiling pest_derive v2.5.6
error: failed to run custom build command for `raft-proto v0.6.0`
Caused by:
process didn't exit successfully: `/home/kdy/myjob/git/picodata/picodata/target/debug/build/raft-proto-e3f847d18d709eef/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /home/kdy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/protobuf-build-0.12.3/src/protobuf_impl.rs:48:71
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
Dmitry Ivanov, [20/09/2023 15:28]
нужно обновлять raft-rs
он тянет за собой старый крейт protobuf-build, который не умеет парсить новый формат версии protoc
ты обновляешь protoc, и сборка ломается
проблема в том, что в новой версии компилятора protobuf изменился репортинг версии
X.Y вместо X.Y.Z
Workaround:
$ cat protoc
#!/usr/bin/env python3
import sys
import os
import argparse
print(f"MOCK PROTOC BY FUNBRINGER at {sys.argv[0]}", file=sys.stderr, flush=True)
parser = argparse.ArgumentParser()
parser.add_argument('--version', action='store_true')
args = parser.parse_args()
if args.version:
print("23.4.0")
else:
os.execv("/usr/bin/protoc", sys.argv)