Skip to content

fix: re-subscribe to anchor updates after committee rotation#820

Merged
bas-io merged 1 commit intoql-devfrom
fix/rotation
Apr 14, 2026
Merged

fix: re-subscribe to anchor updates after committee rotation#820
bas-io merged 1 commit intoql-devfrom
fix/rotation

Conversation

@bas-io
Copy link
Copy Markdown
Collaborator

@bas-io bas-io commented Apr 14, 2026

Summary

  • Fix anchor subscription not receiving updates after committee rotation by detecting owner change and re-subscribing with the new signer address
  • Update reboot tests to use createTestWrapper for consistent cluster setup
  • Fix rotation test state index assertion to match updated data format

Details

After committee rotation, the GraphQL anchor subscription filters by FromAddress (the committee's signing address). When the anchor is transferred to a new committee, subsequent transactions are signed by the new address, but the subscription still filters for the old one — so no new anchors are ever delivered.

The fix detects rotation in consumeAnchorUpdates by comparing the fetched anchor's Owner to the current signer address. When they differ, it signals subscribeToAnchorUpdates to re-subscribe with the new address.

Test plan

  • Run TestRotationOverlappingCommitteesWithConcurrentRequests — verifies anchor updates continue flowing after rotation
  • Run TestRebootAllNodes — verifies cluster setup consistency
  • Run TestClusterMultiNodeCommittee — verifies no regression in basic cluster tests

After committee rotation, the GraphQL anchor subscription filters by
FromAddress (the committee's signing address). When the anchor is
transferred to a new committee, subsequent transactions are signed by
the new address, but the subscription still filters for the old one -
so no new anchors are ever delivered.

The fix detects rotation in consumeAnchorUpdates by comparing the
fetched anchor's Owner to the current signer address. When they differ,
it signals subscribeToAnchorUpdates to re-subscribe with the new address.

Also updates reboot tests to use createTestWrapper for consistent setup
and fixes rotation test state index assertion to match updated data format.
@bas-io bas-io merged commit 70867d6 into ql-dev Apr 14, 2026
3 of 4 checks passed
@bas-io bas-io deleted the fix/rotation branch April 14, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants