apache/iceberg

Core: Stream DV Puffin rewrite in RewriteTablePathUtil to reduce memory pressure

Open

#15,924 opened on 2026年4月9日

GitHub で見る
 (1 comment) (0 reactions) (1 assignee)Java (5,146 stars) (1,915 forks)batch import
coregood first issueimprovement

説明

Feature Request / Improvement

Description

RewriteTablePathUtil.rewriteDVFile currently rewrites deletion vector (DV) Puffin files by reading all rewritten blobs into an in-memory list before writing them out, which can create unnecessary memory pressure when rewriting larger DV files or files with many blobs.

Suggested improvement

Refactor RewriteTablePathUtil.rewriteDVFile to stream rewritten blobs directly to the output PuffinWriter while iterating through the source blobs, instead of collecting all rewritten blobs into a temporary list first.

Query engine

None

Willingness to contribute

  • I can contribute this improvement/feature independently
  • I would be willing to contribute this improvement/feature with guidance from the Iceberg community
  • I cannot contribute this improvement/feature at this time

コントリビューターガイド