Repository navigation
Check physrep SP rcodes and prevent topology cycles - #6404
Open
markhannum wants to merge 4 commits into
Open
markhannum wants to merge 4 commits into
markhannum wants to merge 4 commits into
Conversation
markhannum
force-pushed
the
physrep-register-cycle
branch
2 times, most recently
from
October 24, 2026 01:17
a1826f9 to
a80e16a
Compare
roborivers
approved these changes
Oct 24, 2026
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
markhannum
force-pushed
the
physrep-register-cycle
branch
from
October 24, 2026 14:08
a80e16a to
8b5a6c2
Compare
roborivers
approved these changes
Oct 24, 2026
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
The physrep SPs and phys_rep.c ignored failures, so a failed reset_nodes looked successful and the replicant registered against stale topology. Retry verify errors in the SPs and return and log any other failure. Signed-off-by: Mark Hannum <mhannum@bloomberg.net>
physrep_metadb_sp runs the SPs against the test db as the metadb: a verify error is retried and any other failure is returned. Signed-off-by: Mark Hannum <mhannum@bloomberg.net>
register_replicant skips the requester and its subtree; update_registry refuses such a link with -202 and the replicant skips that source. Both walks stop at 32 tiers so a cycle elsewhere cannot hang them. Signed-off-by: Mark Hannum <mhannum@bloomberg.net>
Cover a node linking to itself or any descendant, a sibling sharing a source, and cycles elsewhere in the topology for both SPs. Signed-off-by: Mark Hannum <mhannum@bloomberg.net>
markhannum
force-pushed
the
physrep-register-cycle
branch
from
October 24, 2026 22:07
8b5a6c2 to
71d66f8
Compare
roborivers
approved these changes
Oct 25, 2026
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The physrep metadb stored procedures ignored their own rcodes, and
register_replicantcould recurse forever on a cycle incomdb2_physrep_connections, hanging registration.-201db/phys_rep.cupdate_registryrefuses a link to self or a descendant with-202, and the replicant skips that source (forward and reverse connections)SP prototypes and output columns are unchanged. Tests without a metadb now override the registry-writing SPs with no-ops, as they already do for
register_replicant.New test
physrep_metadb_sp. Passed: phys_rep, phys_rep_tiered (+ firstfile/nosource), physrep_ignore_table, physrep_cksum_anchor, nophyswrite, log_trigger, truncatesc, protobuf_connectmsg_physrep_check, plus phys_rep_tiered with main replicants/branch metadb and the reverse.Signed-off-by: Mark Hannum mhannum@bloomberg.net