envoyproxy/envoy

Redis cluster never removes hosts that are PENDING_DYNAMIC_REMOVAL

Open

#14,630 创建于 2021年1月11日

在 GitHub 查看
 (2 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
area/redisbughelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

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.

贡献者指南