apache/pinot

Unify some behavior in TableDataManager

Open

#9 752 ouverte le 7 nov. 2022

Voir sur GitHub
 (2 commentaires) (2 réactions) (0 assignés)Java (1 234 forks)batch import
bugcleanupgood first issue

Métriques du dépôt

Stars
 (4 937 stars)
Métriques de merge PR
 (Merge moyen 6j 7h) (186 PRs mergées en 30 j)

Description

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

Guide contributeur