Conversation
MyShardID in the v2 workflow syncer handler was populated from myDonID, conflating the node's DON ID with its shard identity. Source it from the Sharding.ShardIndex TOML config instead, which is what ShardResolver and ShardDonLookup actually key on. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
|
✅ No conflicts with other open PRs targeting |
Contributor
|
I see you updated files related to
|
bolekk
force-pushed
the
shard_id_not_don_id
branch
2 times, most recently
from
September 22, 2026 19:42
fb83062 to
758d3ba
Compare
|
MyShardID conflated two distinct identities: the DON ID reported to the secondary shard (PrimaryDonId on the wire) and the shard index used for ownership comparisons against ShardResolver/ShardOrchestratorClient. Split it into MyDONID (DON identity) and MyShardIndex (shard identity, sourced from the TOML Sharding.ShardIndex config) and route each usage to the correct one. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bolekk
force-pushed
the
shard_id_not_don_id
branch
from
September 22, 2026 20:12
758d3ba to
cb256be
Compare
|
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.




Summary
ShardFailoverManagerConfighad a singleMyShardIDfield that conflated two distinct identities: the node's DON ID and its shard index. It was originally being populated frommyDonIDeven where shard-index semantics were needed (e.g. comparisons againstShardResolver/ShardOrchestratorClientresults).MyDONID— this node's DON identity, used for thePrimaryDonIdfield sent to the secondary shard.MyShardIndex— this node's shard index, sourced from theSharding.ShardIndexTOML config (via a newWithShardIndexhandler option), used for all shard-ownership comparisons and logging.Test plan
go build/go vetpass forcore/services/workflows/syncer/v2andcore/services/creTestShardFailoverManager_MultipleWorkflowsSharedDispatcherandTestShardFailoverManager_DispatcherRejectsDuplicateReceiverpassmyShardIndexequal to each node's configuredSharding.ShardIndex, and thatPrimaryDonIdon the wire still reflects the primary's DON IDDeployment Validation
Confirm shard failover logs report
myShardIndexequal to each node's configuredSharding.ShardIndex, andPrimaryDonIdon the wire still matches the primary's DON ID.🤖 Generated with Claude Code