hanahmily opened a new pull request, #1121: URL: https://github.com/apache/skywalking-banyandb/pull/1121
## Summary Implements the Phase 2 cluster-wide schema consistency barrier for BanyanDB, building on the Phase 1 client-observable revision primitives. This PR covers Steps 2.1–2.8 plus hardening fixes through CP-5 review. **Core cluster fan-out (Steps 2.1–2.4):** - Cluster-wide `AwaitRevisionApplied`, `AwaitSchemaApplied`, `AwaitSchemaDeleted` with frozen-snapshot semantics - Mid-call eviction/leave/late-joiner handling - Cross-version `Unimplemented`→ready policy for partial-upgrade clusters - Per-node chunked GetKeyRevisions/GetAbsentKeys probes **Executor-lockstep registry (Step 2.5):** - `NodeRepoRegistry` aggregator routing barrier lookups to the same per-service `schemaRepo` instances the data-node executor consults - Write/query gates read from `NodeRepoRegistry` in lockstep with `AwaitXXX` barriers - Re-enables §4.6.2/§4.6.4/§6.8/§6.11 distributed specs **Observability (Step 2.7):** - Prometheus metrics and structured access logging for all barrier RPCs **Load harness (Step 2.8):** - CP-6 SLO load harness (`make load-test-barrier`) with configurable profiles **Hardening (CP-5 follow-up):** - `NodeSchemaStatusService` exposed on data-node gRPC ports - `GetMaxRevision` min-aggregation regression fixed (reads cache-only) - `notifiedModRevision` watermark advances unconditionally on event processing - No-op `Update` RPCs return the existing property's `modRevision` instead of a fabricated one - `PauseDataNodeWatch`/`ResumeDataNodeWatch` for integration testing - §6.12 cluster-barrier integration specs (all 4 passing: §6.12a/b/c/d) ## Test plan - [x] Unit tests: `go test ./banyand/metadata/schema/property/... ./banyand/liaison/grpc/... ./pkg/schema/registry/...` - [x] Distributed integration: 32/32 passing (`go test -timeout 15m ./test/integration/distributed/schema/...`) - [x] Build: `go build ./...` - [x] Vet: `go vet ./...` - [ ] Load harness: `make load-test-barrier LOAD_FLAGS="-loadtest.measure=30s"` 🤖 Generated with [Claude Code](https://claude.com/claude-code) via [HAPI](https://hapi.run) Co-Authored-By: HAPI <[email protected]> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
