Repository navigation
ci: shard the Iceberg extensions test task #6113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ErikBPF
wants to merge
10
commits into
apache:main
Choose a base branch
from
ErikBPF:ci/shard-iceberg-extensions
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
14199c8
ci: shard the Iceberg extensions test task
ErikBPF dbf0f31
ci: shard the Iceberg extensions test task
ErikBPF 8eb6dfd
fix(ci): distribute all Iceberg extensions shards
ErikBPF a033c18
docs(ci): clarify local Iceberg shard parity
ErikBPF b0bc125
chore: preserve published branch ancestry
ErikBPF 589001e
chore: merge main for a scoped PR comparison
ErikBPF 4307a38
chore(ci): merge main to keep PR checks current
ErikBPF b745b19
Merge remote-tracking branch 'origin/main' into maintenance/pr-6113-2…
ErikBPF 645e48d
docs(iceberg): pin data-file concurrency in the extensions shard recipe
ErikBPF cc9fa7e
Merge remote-tracking branch 'origin/main' into maintenance/pr-6113-2…
ErikBPF File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P1] Use an extensions-specific partition before enabling this init script.
CometIcebergTestShard.owner()reserves shard 1 exclusively forTestStructuredStreamingRead*and assigns everything else to shards 2–4. None of the configured extensions source sets contains that family. Consequently, shard 1 becomesNO-SOURCE, Gradle skips thedoFirstinventory writer, and the new coverage job fails because inventory 1 is missing, even when every extensions test passes. This makes the Iceberg workflow fail and blocks merge-queue runs that require it. Preserve the core streaming special case while distributing extensions across all four shards, and add a fixture without streaming tests.Evidence: Checked upstream Iceberg 1.8.1/Spark 3.4, 1.9.1/Spark 3.5, 1.10.0/Spark 3.5, and 1.11.0/Spark 4.1 source trees and Gradle configuration:
TestStructuredStreamingRead3belongs to the core module, not extensions. Reproduced with Gradle 8.14.4/JDK 17 using isolated Java test projects containing passingTestExtendedParser,TestAddFilesProcedure, andTestAlterTableSchematests and the unchanged repository init script with-PcometShardTask=:test -PcometShardIndex=1..4 -PcometShardCount=4. Baseline executed three tests. Shard 1 reported:test NO-SOURCEand wrote no manifest. Shards 2–4 each passed one test and wrote their inventories. The repository coverage checker exited 1 withExpected shard indices [1, 2, 3, 4], found [2, 3, 4]. Reproduction and logs:/tmp/comet-6113-repro-n141sa7s/run-isolated-repro.pyand itsisolated/directory.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed in
589001e: extensions distribute across all four shards, while the core streaming reservation remains intact. The regression fixtures cover extensions without streaming tests, including small and empty inventories.Rechecked the current head: all 15 tests in
dev/ci/test-iceberg-shards.pyand the CI configuration guard passed. The current Comet CI and CodeQL runs are still awaiting approval. Could a maintainer approve them so the hosted jobs can verify this head?