Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
bcb624c
feat: add JVM-planned native Delta Lake scan contrib module
dwsmith1983 Sep 3, 2026
5b22bd5
Merge branch 'main' into feature/delta-native-scan
andygrove Sep 12, 2026
1d91656
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 12, 2026
6430f93
fix: contain provider link failures, gate Hadoop-only S3 endpoints, a…
dwsmith1983 Sep 14, 2026
8090726
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 14, 2026
499adbf
Merge remote-tracking branch 'fork/feature/delta-native-scan' into fe…
dwsmith1983 Sep 14, 2026
519bfa8
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 14, 2026
02df40a
fix: keep every leaf requested when the name fold fails during rebase…
dwsmith1983 Sep 14, 2026
55c49e7
ci: activate the delta profile for the prerequisite installs and set …
dwsmith1983 Sep 15, 2026
6039c30
perf: pass null-free modern batches through the rebase untouched with…
dwsmith1983 Sep 15, 2026
b238a98
chore: drop redundant interpolators flagged by scalafix
dwsmith1983 Sep 15, 2026
68dd8e3
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 15, 2026
dcacee4
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 16, 2026
b3cd071
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 16, 2026
32d3157
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 17, 2026
d21f5d4
ci: save the Delta contrib Maven caches on main only
dwsmith1983 Sep 17, 2026
ed439ea
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 17, 2026
adc17c2
fix: adapt the Delta contrib to the prepared plan-data API
dwsmith1983 Sep 17, 2026
a6fe101
chore: drop redundant string interpolators in CometDeltaNativeScanSuite
dwsmith1983 Sep 17, 2026
1168978
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 17, 2026
f0351b9
fix: keep the rebase pass-through for nullable all-modern batches
dwsmith1983 Sep 18, 2026
17546fd
test: let COMET_DELTA_S3_REQUIRED turn a missing MinIO into a hard fa…
dwsmith1983 Sep 18, 2026
d707d8d
docs: guard every Delta scan config row and drop the generated-table …
dwsmith1983 Sep 18, 2026
94e0be8
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 18, 2026
e320d96
ci: run the Delta contrib suites for one Spark profile in the queue
dwsmith1983 Sep 18, 2026
cdb532e
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 18, 2026
3f68cc9
ci: use setup-java v6 in the Delta MinIO job like the other workflows
dwsmith1983 Sep 18, 2026
11cad23
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 19, 2026
ac75d85
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 19, 2026
ba93800
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 19, 2026
2fcfbeb
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 20, 2026
a45f557
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 20, 2026
cf2b7e4
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 21, 2026
6353205
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 22, 2026
c4cdbcd
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 22, 2026
2e6910c
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 22, 2026
999a11b
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 22, 2026
c55cf74
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 23, 2026
3fa709c
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 23, 2026
268d311
fix: share one memory consumer across a partition's deletion vectors …
dwsmith1983 Sep 23, 2026
e6a2539
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 24, 2026
4578665
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 24, 2026
9b25bff
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 24, 2026
f1ef362
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 24, 2026
859adae
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 24, 2026
deafb4f
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 24, 2026
6e5c003
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 25, 2026
c0351d0
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 25, 2026
281e02f
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 25, 2026
5232931
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 25, 2026
3d177ea
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 25, 2026
6837f86
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 25, 2026
e9b0002
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 26, 2026
046332e
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 26, 2026
de2b013
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 27, 2026
42faf28
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Sep 27, 2026
501c946
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 27, 2026
0392218
style: drop a redundant string interpolator in the Delta scan suite
dwsmith1983 Sep 28, 2026
415d729
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 28, 2026
452adbc
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 29, 2026
d1efe88
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 29, 2026
edc921c
docs: list every check the Delta scan reuses from the core native sca…
dwsmith1983 Sep 29, 2026
4b7ad02
fix: choose the timestamp rebase policy from the requested type
dwsmith1983 Sep 29, 2026
2481464
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 29, 2026
e661957
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 29, 2026
937a8ac
perf: limit Delta deletion-vector selectors to each file split
sunchao Sep 29, 2026
5306729
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 30, 2026
13752ad
Merge sunchao's per-split deletion-vector selectors
dwsmith1983 Sep 30, 2026
494c1de
docs: describe per-split row selectors in the Delta scan planning com…
dwsmith1983 Sep 30, 2026
bdc4631
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 30, 2026
88675d6
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Sep 30, 2026
15f3e52
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 1, 2026
9f82876
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 1, 2026
995d737
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 1, 2026
7b7f037
chore: tighten Delta scan comments
dwsmith1983 Oct 1, 2026
32eb960
test: check Delta S3 key coverage in the native tests
dwsmith1983 Oct 1, 2026
a2df2e7
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 2, 2026
8da6138
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 2, 2026
5031c2e
fix: skip calendar rebase checks when Spark reads a date or timestamp…
dwsmith1983 Oct 2, 2026
9951923
fix: decline split-dependent metadata and resolve SSE-C like Hadoop i…
dwsmith1983 Oct 2, 2026
dd9e7f2
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 2, 2026
41e4367
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 2, 2026
cca4497
fix: rebase INT32 values Spark reads as DATE in the Delta scan
dwsmith1983 Oct 3, 2026
0d112da
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 3, 2026
eddd2eb
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 3, 2026
0539d60
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 4, 2026
09746c3
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 5, 2026
ac8fc3b
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 6, 2026
57baa20
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 6, 2026
b1a5f6d
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 6, 2026
05ccf04
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 7, 2026
4646a91
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 7, 2026
2fe0af9
fix: restore the Delta scan with its live pruning filters on transiti…
dwsmith1983 Oct 7, 2026
d69e78e
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 7, 2026
e68dab9
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 8, 2026
c0afc37
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 9, 2026
631a635
test: fix strict-warnings errors in the Delta contrib suites
dwsmith1983 Oct 9, 2026
d895aaa
Merge branch 'main' into feature/delta-native-scan
dwsmith1983 Oct 9, 2026
166b2a9
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 10, 2026
1d9e549
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 11, 2026
421a7eb
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 11, 2026
38f856c
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 11, 2026
fef3f3a
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 11, 2026
977cd31
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 11, 2026
e2d6deb
Merge remote-tracking branch 'origin/main' into feature/delta-native-…
dwsmith1983 Oct 12, 2026
3062796
ci: run the Delta contrib suites nightly and compile the contrib in t…
dwsmith1983 Oct 12, 2026
28d0ce7
docs: say the Delta contrib jar is built from source and mark the gui…
dwsmith1983 Oct 12, 2026
5111327
chore: merge apache/main into feature/delta-native-scan
andygrove Oct 12, 2026
8820028
test: check the timestamp labels of a Delta scan that runs alone
andygrove Oct 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ ruleset in `.asf.yaml`. That splits CI into three tiers:
and one Iceberg version, both the default profile's.
- **Nightly tier** (`nightly`): the regression sweep of everything else, once
a day against `main` as it stands. The Comet test suites against the other
four Spark profiles, Spark SQL on Spark 3.5, 4.0 and 4.2, and Iceberg
1.8/1.9/1.10. See [Nightly tier](#nightly-tier) below for how a failure
surfaces.
four Spark profiles, Spark SQL on Spark 3.5, 4.0 and 4.2, Iceberg
1.8/1.9/1.10, and the Delta contrib suites on Spark 3.5, 4.0 and 4.1. See
[Nightly tier](#nightly-tier) below for how a failure surfaces.

Every queue-only and nightly job has a `run-*` label that opts a pull request
into it early, listed in the diagram below. The Lint Java matrix compiles
Expand Down Expand Up @@ -129,6 +129,9 @@ tiers partition the list and that the `pr` tier is exactly the default profile.
iceberg_1_8 run-iceberg-tests
iceberg_1_9 run-iceberg-tests
iceberg_1_10 run-iceberg-tests
delta_3_5 run-delta-tests
delta_4_0 run-delta-tests
delta_4_1 run-delta-tests

| | |
+-----------------------------------+-----------------------------------+
Expand Down Expand Up @@ -165,6 +168,9 @@ tiers partition the list and that the `pr` tier is exactly the default profile.
| `pr_benchmark_check` | merge group, **or** PR with `run-benchmark-check` | benchmark sources only |
| `delta_build_gate` | merge group, **or** PR with `run-delta-build-gate` | main sources, poms, `contrib/delta` |
| `pyarrow_udf_test` | merge group, **or** PR with `run-pyarrow-udf-tests` | map-in-batch and Python runner code |
| `delta_3_5` | nightly, **or** PR with `run-delta-tests` | Delta contrib and native sources |
| `delta_4_0` | nightly, **or** PR with `run-delta-tests` | Delta contrib and native sources |
| `delta_4_1` | nightly, **or** PR with `run-delta-tests` | Delta contrib and native sources |
| `docs` | push to main, paths matched, **or** dispatch on `main` | `.asf.yaml`, `docs/**`, `docs.yaml` |
| `spark_3_5` | nightly, **or** PR with `run-spark-3.5-tests` | Spark 3.5 sources |
| `spark_4_1` | merge group, **or** PR with `run-spark-4.1-tests`; the `sql_hive` shards alone with `run-spark-4.1-hive-tests` | Spark 4.1 sources |
Expand Down Expand Up @@ -303,6 +309,7 @@ umbrella doesn't watch, or operate independently of the rest of CI:
| `pr_build_macos.yml` | `pr_build_macos` |
| `pr_benchmark_check.yml` | `pr_benchmark_check` |
| `delta_build_gate.yml` | `delta_build_gate` |
| `delta_contrib_test.yml` | `delta_3_5`, `delta_4_0`, `delta_4_1` |
| `pyarrow_udf_test.yml` | `pyarrow_udf_test` |
| `docs.yaml` | `docs` |
| `spark_sql_test_reusable.yml` | `spark_3_4`, `spark_3_5`, `spark_4_0`, `spark_4_1`, `spark_4_2` |
Expand Down
45 changes: 44 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,9 @@ jobs:
iceberg_1_9: ${{ steps.compute.outputs.iceberg_1_9 }}
iceberg_1_10: ${{ steps.compute.outputs.iceberg_1_10 }}
iceberg_1_11: ${{ steps.compute.outputs.iceberg_1_11 }}
delta_3_5: ${{ steps.compute.outputs.delta_3_5 }}
delta_4_0: ${{ steps.compute.outputs.delta_4_0 }}
delta_4_1: ${{ steps.compute.outputs.delta_4_1 }}
steps:
- uses: actions/checkout@v7
with:
Expand Down Expand Up @@ -469,6 +472,43 @@ jobs:
spark-full: '3.5.9'
java: 17

delta_3_5:
name: Delta Contrib Tests (Spark 3.5)
needs: changes
permissions:
contents: read
# Nightly by default; PRs need the `run-delta-tests` label.
if: needs.changes.outputs.delta_3_5 == 'true'
uses: ./.github/workflows/delta_contrib_test.yml
with:
spark: '3.5'
java: '17'

delta_4_0:
name: Delta Contrib Tests (Spark 4.0)
needs: changes
permissions:
contents: read
# Nightly by default; PRs need the `run-delta-tests` label.
if: needs.changes.outputs.delta_4_0 == 'true'
uses: ./.github/workflows/delta_contrib_test.yml
with:
spark: '4.0'
java: '17'

delta_4_1:
name: Delta Contrib Tests (Spark 4.1)
needs: changes
permissions:
contents: read
# Nightly by default; PRs need the `run-delta-tests` label. No Spark 4.2
# caller: the contrib profile is dormant until a Delta release supports it.
if: needs.changes.outputs.delta_4_1 == 'true'
uses: ./.github/workflows/delta_contrib_test.yml
with:
spark: '4.1'
java: '17'

spark_4_0:
name: Spark SQL Tests (Spark 4.0)
needs: changes
Expand Down Expand Up @@ -616,6 +656,9 @@ jobs:
- pyarrow_udf_test
- spark_3_4
- spark_3_5
- delta_3_5
- delta_4_0
- delta_4_1
- spark_4_0
- spark_4_1
- spark_4_2
Expand Down Expand Up @@ -684,7 +727,7 @@ jobs:
failed.length ? 'Jobs that did not succeed:' : 'No individual job reported a failure; see the run for details.',
...failed,
'',
'The nightly tier runs the Spark and Iceberg versions the merge queue does not',
'The nightly tier runs the Spark, Iceberg and Delta versions the merge queue does not',
'(see `POLICY` in `dev/ci/compute-changes.py`). Close this issue once the failure',
'is understood; the next red nightly opens a new one.',
].join('\n');
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/delta_build_gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,15 @@
# specific language governing permissions and limitations
# under the License.

# Build-gate verification for the optional contrib/delta integration.
# Build-gate verification for the Delta split of the native library and the JVM build.
#
# A single cheap job that runs dev/verify-contrib-delta-gate.sh, which proves:
# - the DEFAULT cargo / mvn / dylib build carries ZERO Delta surface
# (no comet-contrib-delta / delta_kernel in the cargo tree, no io.delta in
# the effective pom, no Delta symbols in libcomet); and
# - the kernel-backed `comet-contrib-delta` crate stays out of every shipped
# build (no comet-contrib-delta / delta_kernel in the default or
# --no-default-features cargo tree, no io.delta in the effective pom, no
# contrib symbols in libcomet), while the small default-on `delta` feature
# (deletion-vector decoding) is deliberately in and its symbol footprint is
# pinned; and
# - the gated build (`--features contrib-delta` / `-Pcontrib-delta`) compiles
# and pulls the right delta-spark per Spark profile.
#
Expand Down
Loading
Loading