feat(raft): transparent leader write/DDL forwarding
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled

- BARADB_RAFT_CLIENT_PEERS maps node id → SQL client host:port
- Followers proxy DML/DDL to the known leader over the wire protocol
  (falls back to "not leader" when the map is missing)
- E2E: follower CREATE/INSERT succeed via forward; docs updated
This commit is contained in:
2026-07-30 21:31:05 +03:00
parent 095698ba82
commit 9df8316305
6 changed files with 228 additions and 72 deletions
+9
View File
@@ -362,6 +362,15 @@ suite "Bug fixes — UNIQUE index enforcement":
suite "Raft peer address parsing":
test "BARADB_RAFT_CLIENT_PEERS populates raftPeerClientAddrs":
putEnv("BARADB_RAFT_CLIENT_PEERS", "n1@10.0.0.1:9472,n2@10.0.0.2:9472")
defer: delEnv("BARADB_RAFT_CLIENT_PEERS")
var cfg = defaultConfig()
loadConfigFromEnv(cfg)
check cfg.raftPeerClientAddrs.len == 2
check cfg.raftPeerClientAddrs["n1"] == ("10.0.0.1", 9472)
check cfg.raftPeerClientAddrs["n2"] == ("10.0.0.2", 9472)
test "id@host:port entries populate raftPeerAddrs":
putEnv("BARADB_RAFT_PEERS", "n1@127.0.0.1:9473,n2@10.0.0.5:9474,n3")
defer: delEnv("BARADB_RAFT_PEERS")