Hi all, I'd like to draw attention to HADOOP-19833 [1], which has an open PR [2] that's been waiting for committer review since early March.
The bug: fs.s3a.classloader.isolation=false has no effect because S3AUtils.getInstanceFromReflection() hardcodes S3AUtils.class.getClassLoader() instead of using the Configuration's classloader set by maybeIsolateClassloader(). This means custom credential providers loaded via application classpaths are invisible to S3A, resulting in ClassNotFoundException. This is a regression introduced in 3.4.x during the SDK v1->v2 migration and is actively impacting production workloads (Spark/Glue jobs using custom AWS credential providers). The fix is straightforward -- use conf.getClassLoader() in getInstanceFromReflection() instead of the hardcoded S3AUtils classloader. The PR includes a unit test. Would a committer be able to take a look? Happy to help with any additional testing or review needed to get this merged. [1] https://issues.apache.org/jira/browse/HADOOP-19833 [2] https://github.com/apache/hadoop/pull/8303 Thanks, Jayesh Lalwani
