envoyproxy/envoy

Redis cluster never removes hosts that are PENDING_DYNAMIC_REMOVAL

Open

#14.630 geöffnet am 11. Jan. 2021

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/redisbughelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

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.

Contributor Guide