Skip to content

[WIP] Gate indexer readiness on control plane - #6669

Draft
Mallets wants to merge 2 commits into
mainfrom
mallets/health-cp
Draft

[WIP] Gate indexer readiness on control plane#6669
Mallets wants to merge 2 commits into
mainfrom
mallets/health-cp

Conversation

@Mallets

@Mallets Mallets commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Gate indexer node readiness on control-plane client connectivity in addition to the existing metastore and ingester checks.
  • Enable generated control-plane check_connectivity/endpoints methods so readiness uses the same endpoint-availability signal as metastore clients.
  • Add unit and integration coverage proving indexers stay unready without a control-plane endpoint and return /health/readyz 503 after control-plane shutdown while metastore remains ready.

generate_extra_service_methods implications

  • Adds generated check_connectivity() and endpoints() helpers to ControlPlaneService clients and implementations; it does not add protobuf RPCs or change wire compatibility.
  • Remote clients consider the control plane available when their BalanceChannel contains at least one discovered endpoint. This is an endpoint-availability check, not an end-to-end RPC health probe.
  • Local mailbox clients use actor connection state, while Tower-wrapped clients forward the helpers to the underlying client.
  • Generated mocks expose the helpers, and any future handwritten ControlPlaneService implementation must implement them.

Test plan

  • cargo check -p quickwit-proto
  • cargo check -p quickwit-serve
  • cargo test -p quickwit-serve test_readiness_updates --lib
  • cargo test -p quickwit-integration-tests test_indexer_readiness_decreases_after_control_plane_shutdown
  • cargo clippy -p quickwit-serve -p quickwit-integration-tests --all-features --tests
  • make fmt

@Mallets Mallets changed the title Gate indexer readiness on control plane [WIP] Gate indexer readiness on control plane Aug 7, 2026
@guilload
guilload requested a review from nadav-govari August 7, 2026 14:03
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.

1 participant