apache / apache/pinot

To add failure domain field in Helix instance ZNode

Open
#6,688 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

To make instance rack awareness so that we can achieve high availability later, we can add a simple field called "failureDomain" under /CONFIGS/PARTICIPANT/[instance]. This field can be either written manually or by calling cloud provider metadata APIs like [Azure Instance Metadata Service](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service?tabs=linux). After this value is set, the next step is to leverage this failure domain metadata together with [pool-based instance assignment strategy](https://docs.pinot.apache.org/operators/operating-pinot/instance-assignment#pool-based-instance-assignment) to achieve high availability. @mcvsubbu @rkanumul @kishoreg @fx19880617 @daniellavoie

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Helix instance ZNode path /CONFIGS/PARTICIPANT/[instance] and the pool-based instance assignment strategy described in the linked Pinot documentation. Determine how the failureDomain field should be stored, whether Azure Instance Metadata Service population is in scope, and how completion will be verified; the issue does not name source files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.