[SkipRecovery] Re-enable mixed-delete tests on Iceberg 1.10.2+ [reduced-it] [databricks] - #15964
[SkipRecovery] Re-enable mixed-delete tests on Iceberg 1.10.2+ [reduced-it] [databricks]#15964wjxiz1992 wants to merge 5 commits into
Conversation
Signed-off-by: Allen Xu <allxu@nvidia.com>
There was a problem hiding this comment.
🟢 Approval recommended
No unresolved blocking issues were identified.
Pull request overview
Re-enables mixed Iceberg delete validation for Iceberg 1.11+ while preserving quarantine behavior for older or unknown versions.
Changes:
- Gates xfail and fixed-seed markers by Iceberg version.
- Disables AQE for the v3 count-plan assertion.
- Resets Spark configuration before cleanup.
File summaries
| File | Description |
|---|---|
integration_tests/src/main/python/iceberg/iceberg_merge_on_read_test.py |
Updates mixed-delete test gating and session cleanup. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
build |
|
|
||
| pytestmark = iceberg_unsupported_mark | ||
|
|
||
| # Iceberg 1.11.0 fixes cached equality-delete records being interpreted in the wrong field order: |
There was a problem hiding this comment.
Can the quarantine gate account for Iceberg 1.10.2 as a fixed runtime? Apache backported the equality-delete schema-ordering fix to the 1.10.x branch and released it in 1.10.2.
Signed-off-by: Allen Xu <allxu@nvidia.com>
|
build |
|
build |
| # field order: https://github.com/apache/iceberg/pull/15514 (backport: #15605). | ||
| # Keep the quarantine for older/unknown runtimes. | ||
| _iceberg_eq_delete_cache_bug = ( | ||
| runtime_iceberg_version is None or |
There was a problem hiding this comment.
I think we should throw exception if runtime_iceberg_version not detected?
Signed-off-by: Allen Xu <allxu@nvidia.com>
| if config.getoption('iceberg') and not os.environ.get('EXPECTED_ICEBERG_VERSION'): | ||
| raise pytest.UsageError( | ||
| "EXPECTED_ICEBERG_VERSION must be set when running Iceberg tests") |
There was a problem hiding this comment.
The new check rejects every --iceberg invocation that does not set EXPECTED_ICEBERG_VERSION. The existing run_iceberg_extra_classpath_tests path passes --iceberg without exporting that variable, even though it already receives the exact Iceberg version. As a result, the Spark 4.0.x extra-classpath pre-merge run exits with UsageError during pytest configuration before collecting any tests. Please export the function's iceberg_version argument as EXPECTED_ICEBERG_VERSION in that launcher.
|
build |
Signed-off-by: Allen Xu <allxu@nvidia.com>
Signed-off-by: Allen Xu <allxu@nvidia.com>
|
build |
JaCoCo production line coverage: not fully measurable locally — no compatible Scala 2.13 / shim 411 nightly baseline is published.
Contributes to #12885.
Description
This test-only recovery restores enforced CPU/GPU result checks for mixed Iceberg position and equality deletes on Iceberg 1.10.2 and newer. Before this change, the format-v2 and format-v3 cases were permanent expected failures with fixed data seeds even on runtimes containing the upstream equality-delete cache fix. The affected older releases are now skipped instead of spending test time on known failures; production behavior is unchanged.
Apache Iceberg #15514, released in 1.11.0 and backported to 1.10.2, fixes equality-delete records being cached in a query-dependent field order. This PR:
--iceberglacks an expected runtime version.Older supported dependencies are not fixed by this PR, so #12885 should remain open. Iceberg 1.10.2 was policy-checked but was not GPU-runtime-tested locally. Shared pytest configuration and pre-merge launcher paths changed, so Databricks remains in CI scope.
Validation
6 passed, 45 deselectedin 219.85 seconds). Full-row equality and the format-v3GpuBatchScanExecassertion were exercised.6 skipped, 45 deselectedin 1.73 seconds).EXPECTED_ICEBERG_VERSIONwith--icebergfailed during pytest configuration with exit 4 and the expected error.bash -nand a focused launcher probe confirmed that the Spark 4.0 extra-classpath path forwards Iceberg 1.10.1.git diff --checkpassed.No production performance change is expected.
AI assistance: The change and PR description were prepared with Codex assistance.
Checklists
Documentation
Testing
(Please provide the names of the existing tests in the PR description.)
Performance