Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
d637a75
feat: add the Comet Native Executors wire protocol
andygrove Oct 28, 2026
09ebe65
feat: run Comet native blocks as DataFusion operators outside Spark
andygrove Oct 28, 2026
8a4abe1
feat: add comet-scheduler and comet-executor built on DataFusion Ball…
andygrove Oct 28, 2026
7689fef
test: run queries on comet-scheduler and comet-executor through Flight
andygrove Oct 28, 2026
5dd751b
ci: build and test the native-executors workspace
andygrove Oct 28, 2026
6cc27ee
feat: run queries on Comet Native Executors from a Spark driver
andygrove Oct 28, 2026
d18c549
feat: run sorts, and with them TPC-H q1, on Comet Native Executors
andygrove Oct 28, 2026
21069b5
ci: list CometNativeExecutorsSuite as a manual suite
andygrove Oct 28, 2026
9cf6478
fix: compile CometNativeExecutorsSuite on Spark 3.x and under strict …
andygrove Oct 31, 2026
cea5fc8
build: build Comet Native Executors on Ballista's comet-native branch
andygrove Oct 31, 2026
4c24b2a
fix: let an optimizer rebuild CometFragmentExec around an exchange it…
andygrove Oct 31, 2026
fc3a589
feat: run broadcast joins, scalar subqueries and top-K on Comet Nativ…
andygrove Oct 31, 2026
f64f8e6
test: run the 22 TPC-H queries on Comet Native Executors
andygrove Oct 31, 2026
fe0c96f
feat: range-partition sorts on Comet Native Executors by sampled spli…
andygrove Oct 31, 2026
b4a83e5
fix: keep float sort keys off range shuffles and report sampling fail…
andygrove Oct 31, 2026
d3c63b2
refactor: simplify the Comet Native Executors driver and range sampling
andygrove Oct 31, 2026
a399356
feat: run Comet Native Executor queries in Ballista's pipelined mode
andygrove Oct 31, 2026
39e0822
style: format the driver's Flight client
andygrove Oct 31, 2026
6132749
fix: compile the TPC-H tests of CometNativeExecutorsSuite on Spark 3.x
andygrove Oct 31, 2026
fdb4db0
feat: let comet-scheduler advertise an external host to its executors
andygrove Oct 31, 2026
2327720
feat: let the Comet Native Executor binaries raise their gRPC message…
andygrove Oct 31, 2026
382ae76
fix: leave a command's result plan in Spark under Comet Native Executors
andygrove Oct 31, 2026
8925114
feat: let comet-executor set the size of its memory pool
andygrove Oct 31, 2026
8b5f114
feat: sort each partition and merge for a global sort on Comet Native…
andygrove Oct 31, 2026
48e5f9a
docs: add a contributor guide page for Comet Native Executors with fu…
andygrove Nov 1, 2026
6a83a2c
docs: describe Spark protocol compatibility as future research for Co…
andygrove Nov 1, 2026
255a10c
docs: link the block transfer experiment issue
andygrove Nov 1, 2026
e9d6e3d
feat: write the scheduler's event logs to COMET_SCHEDULER_EVENT_LOG_DIR
andygrove Nov 1, 2026
1cd219e
Merge apache/main into native-executors-prototype
andygrove Nov 2, 2026
4b1d030
feat: broadcast a small build side into the probe side's stage on Com…
andygrove Nov 2, 2026
7e8fb40
feat: measure a small build side before a pipelined query on Comet Na…
andygrove Nov 2, 2026
5000f3a
feat: convert input rows to partial states in Comet's double average
andygrove Nov 2, 2026
0a4495a
perf: let a partial aggregate on Comet Native Executors stop aggregat…
andygrove Nov 2, 2026
500fa31
build: build Comet Native Executors on Ballista's comet-native branch…
andygrove Nov 2, 2026
fc11da3
style: wrap the skip-partial setting's description at 100 columns
andygrove Nov 2, 2026
fc71795
fix: compile Ballista's event-log writer into comet-scheduler
andygrove Nov 2, 2026
eb0534c
fix: link tracing for Ballista's rest-api feature
andygrove Nov 2, 2026
18e8b9d
Revert "feat: measure a small build side before a pipelined query on …
andygrove Nov 2, 2026
75626fa
docs: pipelined mode no longer measures a build side before the query
andygrove Nov 2, 2026
e2273b0
docs: add an architecture diagram for Comet Native Executors
andygrove Nov 3, 2026
140070b
Merge remote-tracking branch 'apache/main' into native-executors-prot…
andygrove Nov 6, 2026
ca161d2
revert: move the AVG skip-partial change out of this PR
andygrove Nov 6, 2026
057a09f
fix: bound and validate requests to the Comet Native Executors cluste…
andygrove Nov 6, 2026
607de6e
fix: harden the Comet Native Executors driver, and document running i…
andygrove Nov 6, 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
14 changes: 14 additions & 0 deletions .github/actions/rust-test/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ runs:
cd native
cargo clippy --color=never -p datafusion-comet --all-targets --features python-udf -- -D warnings

# The JNI client for Comet Native Executors is off by default, so nothing above compiles it.
- name: Check native executors feature
shell: bash
run: |
cd native
cargo clippy --color=never -p datafusion-comet --all-targets --features native-executors -- -D warnings

- name: Check compilation
shell: bash
run: |
Expand Down Expand Up @@ -106,6 +113,13 @@ runs:
export LD_LIBRARY_PATH=${JAVA_HOME}/lib/server:${LD_LIBRARY_PATH}
RUST_BACKTRACE=1 cargo nextest run -p datafusion-comet --lib --features python-udf python_udf

- name: Run native executors client tests
shell: bash
run: |
cd native
export LD_LIBRARY_PATH=${JAVA_HOME}/lib/server:${LD_LIBRARY_PATH}
RUST_BACKTRACE=1 cargo nextest run -p datafusion-comet --lib --features native-executors native_executors

# The steps above lint and test the accounting allocator over the system allocator. Lint and
# test it over jemalloc too, since that is a different allocator backend and nothing else in CI
# builds it.
Expand Down
1 change: 1 addition & 0 deletions dev/ci/check-suites.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ def file_to_class_name(path: Path) -> str | None:
"org.apache.comet.CometIcebergSchedulerFailureSuite", # manual, multiple hosts + SIGKILL
"org.apache.comet.cloud.s3.CometS3CredentialBridgeSuite", # manual test suite
"org.apache.comet.cloud.s3.HadoopS3ACredentialProviderAdapterBridgeSuite", # manual test suite
"org.apache.comet.exec.CometNativeExecutorsSuite", # manual, needs comet-scheduler and comet-executor binaries
"org.apache.comet.shuffle.CelebornReflectionCompatibilitySuite", # dedicated version matrix
"org.apache.spark.sql.comet.CometPlanStabilitySuite", # abstract
"org.apache.spark.sql.comet.ParquetDatetimeRebaseSuite", # abstract
Expand Down
91 changes: 91 additions & 0 deletions docs/source/_static/images/comet-native-executors.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/source/contributor-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ Floating-Point Semantics <floating_point>
JVM Shuffle <jvm_shuffle>
Native Shuffle <native_shuffle>
Memory Management <memory_management>
Comet Native Executors <native_executors>
Iceberg Writes <iceberg-writes>
ANSI Error Propagation <sql_error_propagation>
S3 Credential Provider Design <s3-credential-provider-design>
Expand Down
Loading
Loading