apache / apache/pinot

Reset segment might leave segment in disabled state if the controller fails to re-enable it

Open
#8,919 0 comments 1 reaction 1 assignee Claimed by @npawar View on GitHub
bug
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

In `PinotHelixResourceManager`, `resetSegment()` and `resetAllSegments()` will temporarily disable the partition if the partition state is not `ERROR`, then re-enable it after it becomes `OFFLINE`. If controller fails to re-enable the partition (restarted, encounters exception when waiting for segment to become `OFFLINE` etc.), the partition will be left disabled.

To fix it, we should use the same mechanism as Helix - send a state transition message to the instance to bring it to OFFLINE state.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.