This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch phase-2-cp5-march
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
The following commit(s) were added to refs/heads/phase-2-cp5-march by this push:
new 9d5e93592 docs(changes): record Step 2.5 + Option C in CHANGES.md
9d5e93592 is described below
commit 9d5e93592e27ab47352496b33a4fa1e966a5ef81
Author: Hongtao Gao <[email protected]>
AuthorDate: Wed May 6 23:13:21 2026 +0000
docs(changes): record Step 2.5 + Option C in CHANGES.md
Extends the Phase-2 schema-consistency cluster under 0.11.0 → Features
with four new bullets covering:
- NodeRepoRegistry per-node aggregator + per-service registration
(Step 2.5 §1, §NRR-1 / §NRR-2)
- NodeSchemaStatusService repointed at the registry for executor-
tracked kinds, closing the SendMetadataEvent eventCh-retry leak
(Step 2.5 §2, §NRR-3)
- Write/query gate registry view in lockstep with AwaitXXX
(§GC-1 / Option C)
- Re-enable §4.6.2 / §4.6.4 / §6.8 / §6.11 in distributed mode;
integration suite reports 28 / 28 with 0 skipped
via [HAPI](https://hapi.run)
Co-Authored-By: HAPI <[email protected]>
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
---
CHANGES.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGES.md b/CHANGES.md
index 55ad87c34..2c93f14d7 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -38,6 +38,10 @@ Release Notes.
- Frozen-snapshot mid-call semantics: members that transition `Active →
Evictable` during a call are dropped from subsequent probes and surfaced once
as a `NodeLaggard{reason="evicted_during_poll"}`; members that disappear from
the route table altogether are dropped silently; late joiners are excluded from
the watched set until the next call. Adds `reason` field (5) to `NodeLaggard`
proto.
- `AwaitSchemaApplied` and `AwaitSchemaDeleted` follow the same fan-out
shape using `GetKeyRevisions` / `GetAbsentKeys` respectively, with per-node
calls chunked at 1000 keys and a shared call-wide deadline (no equal-slice
division across chunks). Per-node laggards carry the per-member `missing_keys`
/ `still_present_keys` they observed.
- First-attempt re-enable of the four Phase-1-deferred distributed specs
(§6.8, §6.11, §4.6.4, §4.6.2) confirmed all four still flake under the cluster
barrier alone (first run had §4.6.2 passing; second run reproduced the `group
not found` race). All four guards stay in place pending Step 2.5's cluster
query gate; comments updated to cite the gate as the next prerequisite.
+ - Add `pkg/schema/registry.NodeRepoRegistry`, the per-node aggregator that
routes barrier and node-status RPC lookups to the same per-service
`pkg/schema.schemaRepo` instances the data-node executor consults via
`LoadGroup` / `LoadResource`. Each banyand service (measure / stream / trace)
registers its `schemaRepo` here during PreRun under a kind bitmask covering
`KindGroup` + the catalog's primary kind + `KindIndexRule` +
`KindIndexRuleBinding`. `metadata.Service` exposes a `NodeRepoR [...]
+ - Repoint `NodeSchemaStatusService` at the `NodeRepoRegistry` for
executor-tracked kinds: `GetMaxRevision` returns
`min(schemaCache.notifiedModRevision, NodeRepoRegistry.LatestModRevision)` and
`GetKeyRevisions` / `GetAbsentKeys` route per-key lookups through the
per-service `schemaRepo` aggregator. TopN / Property keys still consult the
property `schemaCache`. This closes the `SendMetadataEvent` eventCh-retry leak
where the schemaCache watermark advanced before `schemaRepo.groupMap` a [...]
+ - Write gate (`validateWriteRequest` for measure / stream / trace) and
per-group query gate (`checkQueryGate`) read `cacheRev` through the
`NodeRepoRegistry` rather than the liaison `entityRepo` locator. The locator
still answers existence checks (`STATUS_NOT_FOUND` signal) and downstream
navigation; only the revision scalar moves. Net contract: if
`AwaitRevisionApplied(R)` on a node returns `applied=true`, the write gate,
query gate, and downstream executor on that same node all see ≥ [...]
+ - Re-enable §4.6.2 / §4.6.4 / §6.8 / §6.11 in distributed mode (final pass).
Distributed schema integration suite reports `Ran 28 of 28 Specs, 0 Skipped`.
### Bug Fixes