apache/pinot

Improving server segment download code

Open

#9,152 opened on Aug 3, 2022

View on GitHub
 (14 comments) (1 reaction) (0 assignees)Java (1,234 forks)batch import
good first issue

Repository metrics

Stars
 (4,937 stars)
PR merge metrics
 (Avg merge 6d 7h) (186 merged PRs in 30d)

Description

  1. Currently if we use the default code path for server segment download we won't retry download on untar failure. In situations as downloading partial tar file, this would not be helpful. There are two solutions:

    • improve the default code path in BaseTableDataManager
    • use the new stream download untar code path pinot.server.instance.segment.stream.download.untar
  2. The new stream download untar code path currently doesn't support stream decryption, as should be theoretically possible with block cipher. This potential improvement to stream segment download can be explored.

User doc for stream download untar: https://docs.pinot.apache.org/operators/tutorials/performance-optimization-configurations PR: https://github.com/apache/pinot/pull/8753

Contributor guide