Skip to content

Conversation

@jakobht
Copy link
Member

@jakobht jakobht commented Nov 25, 2025

Depends on #7475 being merged

What changed?
Added server-side ping handler for canary health checks in the shard distributor. The handler responds to ping requests from other executors, verifying shard ownership.

Why?
Enables executor-to-executor health verification in the canary system. The ping handler allows executors to check if peer executors own specific shards and are functioning correctly.

How did you test it?
Unit tests

Potential risks

Release notes

Documentation Changes

Implement the server-side handler for canary ping requests. The handler
receives ping requests for specific shards and responds with whether
this executor owns the shard.

The handler:
1. Looks up the executor for the requested namespace
2. Checks if this executor owns the requested shard
3. Returns ownership status and executor ID

This allows other executors to verify shard ownership and test
executor-to-executor communication.

Dependencies:
- Requires ShardDistributorExecutorCanaryAPI proto definition
- Requires Executor.GetMetadata() to identify the executor

Signed-off-by: Jakob Haahr Taankvist <[email protected]>
Add table-driven tests covering:
- Fixed executor shard ownership verification
- Ephemeral executor shard ownership verification
- Executor ID extraction from grpc_address metadata

Achieves 93.3% test coverage.

Signed-off-by: Jakob Haahr Taankvist <[email protected]>
@jakobht jakobht force-pushed the add-canary-ping-handler branch from 5a0cfed to ba69285 Compare November 26, 2025 10:23
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