apache / apache/pinot

Potential Race Condition against Segment Tier during Reload All Segments

Open
#18,164 1 comment 0 reactions 1 assignee Claimed by @rsrkpatwari1234 View on GitHub
tiered-storage
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

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.