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]

Reply via email to