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.