diff --git a/common/src/main/scala/org/apache/comet/CometConf.scala b/common/src/main/scala/org/apache/comet/CometConf.scala index cccad53c53..96e4168319 100644 --- a/common/src/main/scala/org/apache/comet/CometConf.scala +++ b/common/src/main/scala/org/apache/comet/CometConf.scala @@ -111,6 +111,10 @@ object CometConf extends ShimCometConf { .booleanConf .createWithDefault(false) + // Deprecated: native_comet uses mutable buffers incompatible with Arrow FFI best practices + // and does not support complex types. Use native_iceberg_compat or auto instead. + // See: https://github.com/apache/datafusion-comet/issues/2186 + @deprecated("Use SCAN_AUTO instead", "0.9.0") val SCAN_NATIVE_COMET = "native_comet" val SCAN_NATIVE_DATAFUSION = "native_datafusion" val SCAN_NATIVE_ICEBERG_COMPAT = "native_iceberg_compat" @@ -121,11 +125,11 @@ object CometConf extends ShimCometConf { .doc( s"The implementation of Comet Native Scan to use. Available modes are `$SCAN_NATIVE_COMET`," + s"`$SCAN_NATIVE_DATAFUSION`, and `$SCAN_NATIVE_ICEBERG_COMPAT`. " + - s"`$SCAN_NATIVE_COMET` is for the original Comet native scan which uses a jvm based " + - "parquet file reader and native column decoding. Supports simple types only " + - s"`$SCAN_NATIVE_DATAFUSION` is a fully native implementation of scan based on DataFusion" + - s"`$SCAN_NATIVE_ICEBERG_COMPAT` is a native implementation that exposes apis to read " + - s"parquet columns natively. `$SCAN_AUTO` chooses the best scan.") + s"`$SCAN_NATIVE_COMET` (DEPRECATED) is for the original Comet native scan which uses a jvm based " + + "parquet file reader and native column decoding. Supports simple types only. " + + s"`$SCAN_NATIVE_DATAFUSION` is a fully native implementation of scan based on DataFusion. " + + s"`$SCAN_NATIVE_ICEBERG_COMPAT` is the recommended native implementation that exposes apis to read " + + s"parquet columns natively and supports complex types. `$SCAN_AUTO` (default) chooses the best scan.") .internal() .stringConf .transform(_.toLowerCase(Locale.ROOT))