Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
335 changes: 199 additions & 136 deletions dev/diffs/iceberg/1.10.0.diff

Large diffs are not rendered by default.

173 changes: 102 additions & 71 deletions dev/diffs/iceberg/1.11.0.diff

Large diffs are not rendered by default.

339 changes: 201 additions & 138 deletions dev/diffs/iceberg/1.8.1.diff

Large diffs are not rendered by default.

339 changes: 201 additions & 138 deletions dev/diffs/iceberg/1.9.1.diff

Large diffs are not rendered by default.

11 changes: 8 additions & 3 deletions docs/source/contributor-guide/iceberg-spark-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,14 @@ Here is an overview of the changes that the diffs make to Iceberg:
- Configure test base classes (`TestBase`, `ExtensionsTestBase`, `ScanTestBase`, etc.) to load the Comet Spark
plugin and shuffle manager
- Enable the Iceberg write split-operator plan (`spark.comet.write.iceberg.splitOperator.enabled`) alongside the
native scan in every Comet-configured session. The flag is off by default for users, so Iceberg's own suites
are the only place the split plan (`IcebergCommit -> IcebergWrite`) is exercised against Iceberg's write,
commit, and row-level-operation tests. See [#5259]
native scan in every Comet-configured session, so that Iceberg's own write, commit, and row-level-operation
tests exercise the split plan (`IcebergCommit -> IcebergWrite`). See [#5259]
- Enable `spark.comet.exec.localTableScan.enabled` in the same sessions. `CometIcebergNativeWrite` sets
`requiresNativeChildren`, so without this flag a write fed by an inline `VALUES` list keeps Spark's row-based
`LocalTableScanExec`, the conversion is declined, and the write silently runs on the JVM writer. Many Iceberg
suites seed their data that way, so leaving it off hides the native writer from most of the write surface.
- Enable fallback logging (`spark.comet.explainFallback.enabled`) so that every operator Comet declines is
reported in the test output together with the reason it was declined.

[#3739]: https://github.com/apache/datafusion-comet/pull/3739
[#5259]: https://github.com/apache/datafusion-comet/issues/5259
Expand Down
6 changes: 3 additions & 3 deletions spark/src/main/scala/org/apache/comet/CometConf.scala
Original file line number Diff line number Diff line change
Expand Up @@ -129,17 +129,17 @@ object CometConf extends ShimCometConf {
"into Comet's two-operator shape: a file writer exec (inside AQE) and a committer " +
"(outside AQE).")
.booleanConf
.createWithDefault(false)
.createWithDefault(true)

val COMET_ICEBERG_NATIVE_WRITE_ENABLED: ConfigEntry[Boolean] =
conf("spark.comet.iceberg.write.enabled")
.category(CATEGORY_TESTING)
.doc(
"Whether to delegate the executor-side Parquet write to Comet's native (iceberg-rust) " +
"writer when the table's properties allow it. Requires " +
"`spark.comet.write.iceberg.splitOperator.enabled = true`. Off by default.")
"`spark.comet.write.iceberg.splitOperator.enabled = true`.")
.booleanConf
.createWithDefault(false)
.createWithDefault(true)

val COMET_ICEBERG_DATA_FILE_CONCURRENCY_LIMIT: ConfigEntry[Int] =
conf("spark.comet.scan.icebergNative.dataFileConcurrencyLimit")
Expand Down
Loading