Potential Race Condition against Segment Tier during Reload All Segments
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 195
Description
## Description
We fetch the `IndexLoadingConfig` once here:
https://github.com/apache/pinot/blob/50e061f466769e2525e32eda370b44fcf0e848e1/pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java#L625
Then we submit tasks that reload individual segments to the reload/refresh executor, where each task do set the tier to the shared `IndexLoadingConfig` object based on the segment itself:
https://github.com/apache/pinot/blob/50e061f466769e2525e32eda370b44fcf0e848e1/pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java#L1002-L1006
## Impact
This can cause problem where segments would be preprocessed with a wrong config if tier overwrite is present in table config, when the instance has segments on different tiers.
Contributor guide
Assessment
This issue has not been assessed yet.