Skip to content

v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Aug 03:42
· 1 commit to main since this release

A distributed vector search engine in Rust where every shard is a Raft-replicated group (2 shards × 3 openraft replicas by default). Kill a shard leader mid-traffic and the cluster keeps returning complete, correct results — writes commit to a majority before acknowledgement, reads are served only after a quorum-confirmed leadership check, and partial results are never presented as complete (shards_failed > 0 is surfaced, not hidden).

Try it:

docker compose up -d   # pulls the images below
docker compose run --rm --no-deps vecctl --addr http://aggregator:50060 \
    create-collection --collection docs --dim 384 --shard-count 2

Then run ./chaos/chaos.sh --kill-leader shard0 against a loaded collection and watch it recover. Full walkthrough in the README.

In this release:

  • Sharded, Raft-replicated cluster: aggregator (stateless fan-out/merge) + shard replicas (Raft state machine + gRPC transport), exact top-k merge proven against a correctness oracle
  • Four layers of correctness testing (unit → oracle equality → cluster equality → real-process failure injection), including regression tests for two bugs that only showed up under real chaos testing — see the README's "What real failure testing caught"
  • Prometheus metrics + a pre-provisioned Grafana dashboard; chaos/ scripts for scripted leader kills and post-chaos integrity audits
  • Measured, not claimed: benchmark table (healthy / mid-failure / degraded-steady-state) and a documented, honest miss on the original <2s leader-election target, with root cause

Images (also available via docker compose up -d):

  • ghcr.io/hiepnnguyentcu/raftvec-node:0.1.0
  • ghcr.io/hiepnnguyentcu/raftvec-aggregator:0.1.0
  • ghcr.io/hiepnnguyentcu/raftvec-vecctl:0.1.0

Full Changelog: https://github.com/hiepnnguyentcu/raftvec/commits/v0.1.0