dwsmith1983 commented on code in PR #6059:
URL: https://github.com/apache/datafusion-comet/pull/6059#discussion_r4206380864


##########
spark/src/main/scala/org/apache/comet/objectstore/NativeConfig.scala:
##########
@@ -214,6 +216,13 @@ object NativeConfig {
     }
     val s3CompliantSchemes = parseSchemeSet(s3CompliantRaw)
 
+    // ABFS: Hadoop resolves the mechanism and values for this URI's account 
on the driver, and
+    // only those travel to native (never another account's keys, never the 
whole namespace).
+    if (scheme == "abfs" || scheme == "abfss") {
+      return options.toMap ++ AbfsAuthResolver.toOptions(

Review Comment:
   > Could resolution preserve account/container identity through task 
planning, or make such scans fall back instead of reusing the first credential?
   
   Fixed in 8f77b4165 by falling back. A native scan whose `abfs`/`abfss` files 
span more than one container or account now declines, as does one that mixes 
ABFS with another scheme. Your `pathA, pathB` case reads through Spark. 
Matching credentials are not enough to stay native: the native scan builds one 
store per file partition from that partition's first file and keeps only each 
file's path, and Spark packs files from different roots into the same 
partition. A file from the second container would be fetched from the first. 
`AbfsScanFallbackSuite` runs the two-account and two-container cases end to 
end, for both the Parquet and the CSV native scans.
   
   Carrying the store identity per file through to the executors would let 
these scans stay native, but that is a change to the native planner rather than 
to the Azure resolution, so I would rather do it separately.
   



-- 
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