AdapterPoolHubReadinessHealthCheck
Namespace: Meshmakers.Octo.Sdk.Common.Adapters
Readiness check of an adapter pool member (AB#4924 AP-I5): a member the communication controller has no registration for is never leased, so it is not ready.
public sealed class AdapterPoolHubReadinessHealthCheck : HubRegistrationReadinessHealthCheck, IHealthCheck
Inheritance Object → HubRegistrationReadinessHealthCheck → AdapterPoolHubReadinessHealthCheck
Implements IHealthCheck
Remarks:
🔴 Readiness follows the registration at the pool hub, never a lease. An idle member
holds no tenant and is exactly as ready as a busy one — a check that waited for a lease
would keep every member of an idle pool 0/1 for ever. The same reasoning is why
the dedicated adapter's AdapterHubReadinessHealthCheck must never be
registered on a member: a member has no adapter hub connection, so it would never pass.
A member receives no traffic through its Service — work arrives on the management
connection — so a failing probe here changes no routing. What it buys is visibility
(0/1 instead of a green pod that is never leased) and a rollout that does not report
success for members that cannot register.
🔴 A draining member is not ready (AB#5864), whatever its registration says: it takes
no further lease, so a green probe would show a pod that is never leased again as healthy
— exactly the test-2-dev picture of a pool that was dead behind a 1/1 pod.
AdapterPoolMemberDrainExitService stops the process once it is idle.
Constructors
AdapterPoolHubReadinessHealthCheck(IAdapterPoolHubClient, IAdapterHubRegistrationState, IOptions<AdapterOptions>, AdapterPoolClient)
Readiness check of an adapter pool member (AB#4924 AP-I5): a member the communication controller has no registration for is never leased, so it is not ready.
public AdapterPoolHubReadinessHealthCheck(IAdapterPoolHubClient adapterPoolHubClient, IAdapterHubRegistrationState registrationState, IOptions<AdapterOptions> adapterOptions, AdapterPoolClient poolClient)
Parameters
adapterPoolHubClient IAdapterPoolHubClient
registrationState IAdapterHubRegistrationState
adapterOptions IOptions<AdapterOptions>
poolClient AdapterPoolClient
Remarks:
🔴 Readiness follows the registration at the pool hub, never a lease. An idle member
holds no tenant and is exactly as ready as a busy one — a check that waited for a lease
would keep every member of an idle pool 0/1 for ever. The same reasoning is why
the dedicated adapter's AdapterHubReadinessHealthCheck must never be
registered on a member: a member has no adapter hub connection, so it would never pass.
A member receives no traffic through its Service — work arrives on the management
connection — so a failing probe here changes no routing. What it buys is visibility
(0/1 instead of a green pod that is never leased) and a rollout that does not report
success for members that cannot register.
🔴 A draining member is not ready (AB#5864), whatever its registration says: it takes
no further lease, so a green probe would show a pod that is never leased again as healthy
— exactly the test-2-dev picture of a pool that was dead behind a 1/1 pod.
AdapterPoolMemberDrainExitService stops the process once it is idle.