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
 

Reply via email to