Reset segment might leave segment in disabled state if the controller fails to re-enable it
Open
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
Assessment
This issue has not been assessed yet.