apache/pinot

Unify some behavior in TableDataManager

Open

#9752 aperta il 7 nov 2022

Vedi su GitHub
 (2 commenti) (2 reazioni) (0 assegnatari)Java (1234 fork)batch import
bugcleanupgood first issue

Metriche repository

Star
 (4937 star)
Metriche merge PR
 (Merge medio 6g 7h) (186 PR mergiate in 30 g)

Descrizione

In the TableDataManager:

  • void addSegment(File indexDir, IndexLoadingConfig indexLoadingConfig) is never used in production code (the only non-testing caller addOfflineSegment() is not wired up)
  • void addSegment(String segmentName, TableConfig tableConfig, IndexLoadingConfig indexLoadingConfig) can be simplified because TableConfig is included in the IndexLoadingConfig
  • void addOrReplaceSegment(String segmentName, IndexLoadingConfig indexLoadingConfig, SegmentZKMetadata zkMetadata, @Nullable SegmentMetadata localMetadata) should be broken into 2 methods: addSegment() and refreshSegment()
  • Loading committed segment into real-time table should share the same logic as loading segment into offline table. Currently the logic is diverged, which causes moving tier not happening for real-time table

Ideally we want to keep the following methods:

  • addSegment
  • addConsumingSegment (real-time only)
  • refreshSegment
  • reloadSegment
  • removeSegment

Guida contributor