This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch fix/lifecycle-self-identity-resolution
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git

commit 77dba81781c3416b78a467327b421b185873247f
Author: Hongtao Gao <[email protected]>
AuthorDate: Fri Jun 12 14:05:59 2026 +0000

    docs(lifecycle): tighten parseGroup comment, drop stale historical note
    
    Follow-up to 0dc28294. The comment on the (senderNode, 'lifecycle',
    senderTier) tuple now describes the current state (three downstream
    emissions sharing the (remote_node, remote_role, remote_tier) label
    form, with the sender-vs-destination asymmetry cross-referenced) and
    drops the multi-line historical note about the pre-fix
    selfIdentityResolution propagation. That history lives in CHANGES.md
    and the service.go struct comment, not in the hot-path code.
    
    No behavior change.
---
 banyand/backup/lifecycle/steps.go | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/banyand/backup/lifecycle/steps.go 
b/banyand/backup/lifecycle/steps.go
index 888f21b5a..0bcf801e3 100644
--- a/banyand/backup/lifecycle/steps.go
+++ b/banyand/backup/lifecycle/steps.go
@@ -352,22 +352,18 @@ func parseGroup(
        //
        // The (senderNode, "lifecycle", senderTier) tuple returned here is
        // consumed by three downstream emissions, all sharing the same
-       // label set: (a) the wire SenderNode/Role/Tier fields on every
-       // SendRequest (banyand/queue/queue.go:62-68), (b) the per-message
+       // (remote_node, remote_role, remote_tier) label form: (a) the wire
+       // SenderNode/Role/Tier fields on every SendRequest
+       // (banyand/queue/queue.go:62-68), (b) the per-message
        // banyandb_lifecycle_migration_* family emitted by the
-       // lifecycle-tier pub, which has two parallel paths
-       // (file-sync: banyand/queue/pub/chunked_sync.go:67-82 and
+       // lifecycle-tier pub (file-sync: 
banyand/queue/pub/chunked_sync.go:67-82;
        // batch-write: banyand/queue/pub/batch.go:215, 271, 291-292, 421,
        // 471-472, 488, 511, 520, 532), and (c) the cycle-level
-       // banyandb_lifecycle_cycles_total + last_run_* metrics stamped
-       // by the caller (process*Group). Pre-fix, the empty
-       // selfIdentityResolution result propagated to empty SenderNode on
-       // the wire, which the receiver recorded as empty remote_node on
-       // its banyandb_queue_sub_total_finished series; the regression
-       // detector for that is now the new labeled cycle-level
-       // banyandb_lifecycle_cycles_total{remote_node!=""} and the
-       // existing receiver-side count of empty remote_node on lifecycle
-       // Sub series.
+       // banyandb_lifecycle_cycles_total + last_run_* metrics stamped by
+       // the caller (process*Group). The two families describe different
+       // sides (sender vs destination) and are not cross-joinable — see
+       // the struct comment in service.go and CHANGES.md for the
+       // asymmetry.
        selfHost := selfPodHostname()
        senderNode, senderTier, resolvedOK := resolveSelfIdentity(selfHost, 
nodes)
        if resolvedOK {

Reply via email to