Kontinuation opened a new issue, #1766:
URL: https://github.com/apache/datafusion-comet/issues/1766

   ### What is the problem the feature request solves?
   
   The `native_datafusion` parquet scanner throws the following error when 
reading parquet files on S3:
   
   ```
   org.apache.comet.CometNativeException: External: Generic S3 error: Error 
performing PUT http://169.254.169.254/latest/api/token in 1.79000475s, after 10 
retries, max_retries: 10, retry_timeout: 180s  - HTTP error: error sending 
request
        at org.apache.comet.Native.executePlan(Native Method)
        at 
org.apache.comet.CometExecIterator.$anonfun$getNextBatch$2(CometExecIterator.scala:150)
        at 
org.apache.comet.CometExecIterator.$anonfun$getNextBatch$2$adapted(CometExecIterator.scala:149)
        at org.apache.comet.vector.NativeUtil.getNextBatch(NativeUtil.scala:157)
        at 
org.apache.comet.CometExecIterator.$anonfun$getNextBatch$1(CometExecIterator.scala:149)
        at org.apache.comet.Tracing$.withTrace(Tracing.scala:31)
        at 
org.apache.comet.CometExecIterator.getNextBatch(CometExecIterator.scala:147)
        at 
org.apache.comet.CometExecIterator.hasNext(CometExecIterator.scala:170)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:491)
        at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460)
        at 
org.apache.spark.sql.execution.SparkPlan.$anonfun$getByteArrayRdd$1(SparkPlan.scala:388)
        at 
org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2(RDD.scala:893)
        at 
org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2$adapted(RDD.scala:893)
        at 
org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
        at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:367)
        at org.apache.spark.rdd.RDD.iterator(RDD.scala:331)
        at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:93)
        at 
org.apache.spark.TaskContext.runTaskWithListeners(TaskContext.scala:166)
        at org.apache.spark.scheduler.Task.run(Task.scala:141)
        at 
org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$4(Executor.scala:620)
        at 
org.apache.spark.util.SparkErrorUtils.tryWithSafeFinally(SparkErrorUtils.scala:64)
        at 
org.apache.spark.util.SparkErrorUtils.tryWithSafeFinally$(SparkErrorUtils.scala:61)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:94)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:623)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
   ```
   
   The error message suggests that the S3 client is [retrieving token on EC2 
instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html),
 even though I am not running comet on EC2.
   
   It is also quite common to configure credentials for accessing AWS S3 by 
specifying Hadoop configurations, for instance:
   
   ```python
   spark = (SparkSession.builder
     .config("spark.hadoop.fs.s3a.aws.credentials.provider", 
"org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider")
     .getOrCreate())
   ```
   
   Currently there's no mechanism for using credentials configured as Hadoop S3 
configurations when reading S3 using the native datafusion parquet reader. We'd 
better build some compatibility layer to recognize Hadoop S3 configurations in 
native parquet reader for compatibility with Vanilla Spark.
   
   ### Describe the potential solution
   
   _No response_
   
   ### Additional context
   
   _No response_


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