Support Manual Auto Exit for Maintenance Mode
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- java
调研方向
首先定位手动进入维护模式的路径和由控制器触发的维护路径,然后追踪维护状态和用户配置的表示方式。在保留现有离线节点阈值行为的同时,定义手动进入的超时行为,包括未设置的情况;使用相关测试验证两条退出路径和超时处理。
由索引模型根据 Issue 内容生成。
描述
When a cluster enters maintenance mode, partition movement is paused and only state maintenance is performed. Maintenance mode can be triggered manually (via user config) or automatically by the Helix controller if the number of offline nodes exceeds a threshold.
Maintenance mode is frequently used to batch multiple config changes, ensuring the Helix controller only recalculates assignments after all updates are complete. The workflow is:
- Enter maintenance mode
- Apply config changes
- Exit maintenance mode
However, if an operation script fails mid-process, the cluster may remain stuck in maintenance mode, impacting availability.
Proposed Solution
- Introduce a timeout parameter for manual maintenance mode entry.
- When entering maintenance mode manually, users can specify a timeout.
- If the cluster is still in maintenance mode after the timeout, Helix will automatically exit maintenance mode.
- If no timeout is specified, auto-exit does not occur.
- For controller-triggered maintenance mode (due to offline nodes), the existing behavior remains: the cluster exits maintenance mode only when the offline node count drops below the threshold.
- 主要语言
- Java
- 星标
- 505
- 派生
- 258
- 平均合并
- 4 天 20 小时
- 30 天内合并 PR
- 3
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/helix 的其他 Issue
-
Four TestConstraintBasedAlgorithm tests pass when nothing is thrown可能已有人在做 @sharanggupta 今天认领。 未关闭
难度 1/5 1-3 小时 新手友好度 85/100
-
Helix ZkClient times out after successful ZooKeeper SASL DIGEST-MD5 authentication可能已有人在做 @adityaanikam 于 44 天前认领。 未关闭bug
难度 3/5 1-2 天 新手友好度 68/100
-
NPE in canCompleteSwap if path doesn't exists可能已有人在做 @waterWang 于 107 天前认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 50/100
-
Legacy IZkStateListenerI0ItecImpl causes zombie participants by discarding session IDs可能已有人在做 @LZD-PratyushBhatt 于 457 天前认领。 未关闭bug
难度 4/5 3-5 天 新手友好度 45/100
-
bug
难度 4/5 3-5 天 新手友好度 35/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
SasanLabs/VulnerableApp#912 ·
维护者通常 1 天内回复
-
area/build area/events area/storage area/storage/kafkasql area/storage/sql
难度 2/5 1-3 小时 新手友好度 78/100
Apicurio/apicurio-registry#11079 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
OpenAEV-Platform/openaev#9139 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
desktop edt not responding
难度 2/5 1-3 小时 新手友好度 78/100