Skip to content

Commit 1009e98

Browse files
authored
chore: deprecate native_comet scan in favor of native_iceberg_compat (#2949)
1 parent 5fa1e69 commit 1009e98

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

common/src/main/scala/org/apache/comet/CometConf.scala

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ object CometConf extends ShimCometConf {
111111
.booleanConf
112112
.createWithDefault(false)
113113

114+
// Deprecated: native_comet uses mutable buffers incompatible with Arrow FFI best practices
115+
// and does not support complex types. Use native_iceberg_compat or auto instead.
116+
// See: https://github.com/apache/datafusion-comet/issues/2186
117+
@deprecated("Use SCAN_AUTO instead", "0.9.0")
114118
val SCAN_NATIVE_COMET = "native_comet"
115119
val SCAN_NATIVE_DATAFUSION = "native_datafusion"
116120
val SCAN_NATIVE_ICEBERG_COMPAT = "native_iceberg_compat"
@@ -121,11 +125,14 @@ object CometConf extends ShimCometConf {
121125
.doc(
122126
s"The implementation of Comet Native Scan to use. Available modes are `$SCAN_NATIVE_COMET`," +
123127
s"`$SCAN_NATIVE_DATAFUSION`, and `$SCAN_NATIVE_ICEBERG_COMPAT`. " +
124-
s"`$SCAN_NATIVE_COMET` is for the original Comet native scan which uses a jvm based " +
125-
"parquet file reader and native column decoding. Supports simple types only " +
126-
s"`$SCAN_NATIVE_DATAFUSION` is a fully native implementation of scan based on DataFusion" +
127-
s"`$SCAN_NATIVE_ICEBERG_COMPAT` is a native implementation that exposes apis to read " +
128-
s"parquet columns natively. `$SCAN_AUTO` chooses the best scan.")
128+
s"`$SCAN_NATIVE_COMET` (DEPRECATED) is for the original Comet native scan which " +
129+
"uses a jvm based parquet file reader and native column decoding. " +
130+
"Supports simple types only. " +
131+
s"`$SCAN_NATIVE_DATAFUSION` is a fully native implementation of scan based on " +
132+
"DataFusion. " +
133+
s"`$SCAN_NATIVE_ICEBERG_COMPAT` is the recommended native implementation that " +
134+
"exposes apis to read parquet columns natively and supports complex types. " +
135+
s"`$SCAN_AUTO` (default) chooses the best scan.")
129136
.internal()
130137
.stringConf
131138
.transform(_.toLowerCase(Locale.ROOT))

0 commit comments

Comments
 (0)