parthchandra commented on code in PR #4752:
URL: https://github.com/apache/datafusion-comet/pull/4752#discussion_r3686066772


##########
spark/src/main/scala/org/apache/comet/rules/CometScanRule.scala:
##########
@@ -882,6 +930,29 @@ case class CometScanTypeChecker() extends DataTypeSupport 
with CometTypeShim {
 
 object CometScanRule extends Logging {
 
+  // Iceberg FileIO implementations whose underlying storage object_store can 
reach.
+  // Custom/test FileIO classes (e.g. CustomFileIO in TestSparkExecutorCache) 
are not compatible
+  // because Comet's native reader bypasses Java FileIO entirely.
+  private val CompatibleFileIOClasses: Set[String] = Set(
+    "org.apache.iceberg.hadoop.HadoopFileIO",
+    "org.apache.iceberg.aws.s3.S3FileIO",
+    "org.apache.iceberg.gcp.gcs.GCSFileIO",
+    "org.apache.iceberg.io.ResolvingFileIO",
+    "org.apache.iceberg.spark.SparkFileIO",
+    "org.apache.iceberg.azure.adlsv2.ADLSFileIO",
+    "org.apache.iceberg.CachingFileIO")
+
+  // Prefix of the EncryptingFileIO family. An encrypted table's io() is not 
the bare
+  // EncryptingFileIO but a nested variant chosen from the wrapped delegate's 
capabilities
+  // (e.g. EncryptingFileIO$WithSupportsPrefixOperations when the delegate is 
HadoopFileIO), so
+  // an exact class-name match misses it. Comet forwards each file's 
key_metadata to iceberg-rust
+  // and reads the ciphertext via object_store, so any EncryptingFileIO 
variant is compatible.
+  private val EncryptingFileIOPrefix = 
"org.apache.iceberg.encryption.EncryptingFileIO"

Review Comment:
   I had to do this because encryption tests failed. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to