Skip to content

fix(transaction): merge manifests during overwrite commits - #234

Merged
chenzl25 merged 4 commits into
dev_rebase_main_20260807from
dylan/main-cow-overwrite-merge-manifests
Sep 11, 2026
Merged

chenzl25 merged 4 commits into
dev_rebase_main_20260807from
dylan/main-cow-overwrite-merge-manifests

Conversation

@chenzl25

@chenzl25 chenzl25 commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Which issue does this PR close?

Forward-port the COW overwrite manifest fix in #233 to the dependency line used by RisingWave main. Based on RisingWave's current pin cd6e1e6acbfb2e41c9af5b6faedaca5eb83f361c.

What changes are included in this PR?

Overwrite commits merge data manifests inline, using the existing 8 MiB target and 100-manifest first-bin threshold. Snapshot properties override table properties; commit.manifest-merge.enabled=false disables merging. Group by partition spec, preserve original data/file sequence numbers and this commit's added/deleted entries, and keep delete-content manifests unchanged. Drop old deletion-only manifests before loading them during file replacement; retained snapshots remain readable.

This dependency line has no inline merge implementation, so the port uses one private helper on the snapshot producer. It does not add another snapshot or rewrite data files. There are no new unit tests or V3-specific branches.

Are these changes tested?

  • All 141 existing transaction tests pass with the pinned nightly-2026-03-05 toolchain.
  • Clippy (-p iceberg --lib --tests --locked -- -D warnings), workspace formatting and diff checks pass.
  • An external in-memory smoke program creates 100 manifests, then performs three partial overwrites. Each produces one manifest containing the expected 100 live files and exactly the current deletion; original file/data sequences and all 100 historical manifests remain intact. Exactly one snapshot is created per operation. This validation program is not included in the PR.
  • Both affected files' existing test modules are unchanged.

AI Disclosure

Implemented and validated with Codex assistance at the maintainer's request.

chenzl25 and others added 2 commits September 10, 2026 13:30
Install Hive directly

Signed-off-by: Jannik Steinmann <jannik.steinmann@datadoghq.com>
(cherry picked from commit 4687d26)
@chenzl25
chenzl25 merged commit e645680 into dev_rebase_main_20260807 Sep 11, 2026
20 checks passed
@chenzl25
chenzl25 deleted the dylan/main-cow-overwrite-merge-manifests branch September 11, 2026 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants