Maintenance mode stacking support

Đang mở
#3,041 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

@LZD-PratyushBhatt đang làm issue này rồi.

Từ ngày 19/5/2025.

  • #4 của @LZD-PratyushBhatt — đang mở
  • #3044 của @LZD-PratyushBhatt — đang mở

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
java
Lĩnh vực
distributed-systems

Hướng nghiên cứu

Xác định phần triển khai chế độ bảo trì và theo dõi cách simpleFields.REASON được ghi, xóa và cung cấp thông qua maintenance API. Trước tiên, xem xét việc xử lý znode và hành vi hiện có của legacy-client. Hoàn tất khi nhiều tác nhân có thể thêm và xóa các lý do độc lập, cluster vẫn hoạt động khi còn bất kỳ lý do nào, và simpleFields.REASON phản ánh lý do đang hoạt động gần đây nhất.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

The current implementation of maintenance mode for clusters supports only a single reason at a time, tracked using the simpleFields.REASON key. This restricts the functionality to a single actor and reason, which limits flexibility and coordination.

This proposal introduces a new design that allows multiple actors to independently place a cluster into maintenance mode for different reasons. We will extend the maintenance mode design to support multiple actors, each capable of independently adding or removing their own maintenance reason. The cluster will remain in maintenance mode as long as at least one active reason exists. Each reason will be associated with metadata such as the actor, reason, and timestamp. For backwards compatibility, the existing simpleFields.REASON will be retained and updated to reflect the most recent active reason. If a reason is removed, it will be replaced with the next most recent one. While legacy clients that remove the entire znode cannot be completely prevented, we will handle such cases gracefully and recommend migrating to an updated API that enables proper multi-actor maintenance handling.

Ngôn ngữ chính
Java
Star
505
Fork
258
Merge trung bình
4 ngày 20 giờ
Pull request đã merge (30 ngày)
3

Chuẩn bị môi trường

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/helix

Tất cả issue của apache/helix

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.