reswqa opened a new pull request, #1139: URL: https://github.com/apache/paimon-rust/pull/1139
### Purpose Partial-update merges can incorrectly revive a deleted record when processing an update to another sequence group, an older update to the delete-controlling group, or subsequent retractions. For example, after a `DELETE` from a group configured in `partial-update.remove-record-on-sequence-group`, an `INSERT` affecting only another group must not make the record visible again. Deleted results were also materialized from the last raw retract instead of the accumulated merge state. This can lose field updates and aggregate results across merge boundaries, or retain incorrect row-kind metadata. This PR aligns these behaviors with Java's partial-update merge semantics. ### Brief change log - Preserve deletion state across subsequent retractions and unrelated or stale sequence-group updates. - Clear sequence-group deletion state only when a configured delete-controlling group accepts an INSERT or UPDATE_AFTER. - Materialize deleted records from merged fields and aggregate results, preserving the final RowKind and latest internal sequence number. - Correct the existing `last_non_null_value` regression: an older update may contribute to the aggregate state without reviving the deleted record. ### Tests - Add regression coverage for deletion and restoration, single-field and composite sequence groups, all commit-boundary combinations, projections, aggregate-state retention, and `ignore-delete`. - Add a unit test verifying the DELETE payload, final RowKind, and latest internal sequence number after a subsequent UPDATE_BEFORE. - `cargo test -p paimon --locked --offline` - Independently run equivalent cases against Java master (`5d019f5a6d`) using a temporary parity suite ### API and Format No public API or storage format changes. ### Documentation No documentation changes. This fixes existing partial-update behavior. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
