apache/iceberg

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

Open

#15.924 aberto em 9 de abr. de 2026

Ver no GitHub
 (2 comments) (0 reactions) (1 assignee)Java (1.915 forks)batch import
coregood first issueimprovement

Métricas do repositório

Stars
 (5.146 stars)
Métricas de merge de PR
 (Mesclagem média 10d 22h) (164 fundiu PRs em 30d)

Description

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

Guia do colaborador