ErikBPF opened a new pull request, #6113:
URL: https://github.com/apache/datafusion-comet/pull/6113

   Closes #6103.
   
   ## Rationale
   
   The `iceberg-spark-extensions` job ran unsharded and was the longest job in 
the
   Iceberg workflow — 55m24s in a recent merge-queue run, against four shards 
for the
   core `iceberg-spark` task. It now uses the same shard machinery as the core 
task.
   
   ## What changes
   
   - `iceberg-spark-extensions` takes the shared shard matrix
     (`fromJSON(needs.build-native.outputs.shard-matrix)`, `fail-fast: false`), 
gains
     the `/shard-${{ matrix.shard }}` name suffix, and passes the same Gradle 
wiring as
     the core task: `--init-script ../dev/ci/iceberg-test-shards.gradle`,
     `-PcometShardTask=:iceberg-spark:iceberg-spark-extensions-...:test`,
     `-PcometShardIndex`/`-PcometShardCount`.
   - Each shard uploads its candidate inventory and test reports.
   - A new `iceberg-spark-extensions-shard-coverage` job verifies the extensions
     task's inventories (`check-iceberg-shards.py --manifests ... --task 
...extensions...:test`),
     mirroring the core coverage job.
   - `dev/ci/check-ci-config.py` gains `check_iceberg_extensions_shards()` so 
the job
     cannot silently lose its shard wiring.
   
   ## Expected effect
   
   ~55m24s → projected ~15-20 min for the extensions job, roughly 35 
queue-minutes
   per run. This is the largest single saving identified in the CI review.
   
   ## How it was tested
   
   - Guard is RED before the workflow change (four failures) and GREEN after:
     `python3 dev/ci/check-ci-config.py` → `CI config checks passed`.
   - `python3 dev/ci/test-iceberg-shards.py` → 15 tests OK.
   - Not yet exercised end-to-end: per-shard balance and a non-empty extensions
     `unshardedCandidates` inventory need one label run to confirm. The new 
coverage
     job fails if the union of shard candidates is not exactly the unsharded
     inventory, so a bad split cannot merge silently.
   
   ## Constraint
   
   `SHARD_COUNT = 4` in `dev/ci/check-iceberg-shards.py` is global; the 
extensions
   task reuses the same count.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to