envoyproxy/envoy

Redis cluster never removes hosts that are PENDING_DYNAMIC_REMOVAL

Open

#14.630 aperta il 11 gen 2021

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)C++ (5373 fork)batch import
area/redisbughelp wanted

Metriche repository

Star
 (27.997 star)
Metriche merge PR
 (Merge medio 8g) (378 PR mergiate in 30 g)

Descrizione

Description: When a host is removed from a Redis cluster, and health checks are enabled, then the host will remain in PENDING_DYNAMIC_REMOVAL even after it fails health checks.

A test for this bug can be found (commented out) in this commit: https://github.com/envoyproxy/envoy/pull/14483/commits/cc8729f9bcd219bc8f016f21d90f086e63e02b39

It seems likely that this is also true of the strict DNS cluster type too.

Repro steps: Create a Redis cluster with health checks enabled. Remove a host from the cluster in a way that causes the health check to still pass. Check that the host has moved to pending dynamic removal. Fail the health check.

Expected result: The host is removed from the cluster.

Actual result: The host remains in pending dynamic removal state.

Guida contributor