This is an automated email from the ASF dual-hosted git repository.
ajfabbri pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new a3722991e71 HADOOP-19890: s3a: fix isolated classloader test for jdk
>=17 (#8491)
a3722991e71 is described below
commit a3722991e7144635e217c49b77ee6db962a9d592
Author: Aaron Fabbri <[email protected]>
AuthorDate: Thu May 14 14:54:07 2026 -0700
HADOOP-19890: s3a: fix isolated classloader test for jdk >=17 (#8491)
* HADOOP-19890: s3a: fix isolated classloader test for jdk >=17
---
.../s3a/ITestS3AFileSystemIsolatedClassloader.java | 29 ++++++++++++----------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git
a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AFileSystemIsolatedClassloader.java
b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AFileSystemIsolatedClassloader.java
index 21e1db8610a..ee5562b4952 100644
---
a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AFileSystemIsolatedClassloader.java
+++
b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AFileSystemIsolatedClassloader.java
@@ -26,6 +26,7 @@
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
+
import software.amazon.awssdk.auth.credentials.AwsCredentials;
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
@@ -34,8 +35,6 @@
import org.apache.hadoop.fs.s3a.impl.InstantiationIOException;
import static org.apache.hadoop.test.LambdaTestUtils.intercept;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
/**
* Checks that classloader isolation for loading extension classes is applied
@@ -47,9 +46,9 @@ public class ITestS3AFileSystemIsolatedClassloader extends
AbstractS3ATestBase {
private static String customClassName = "custom.class.name";
- private static class CustomCredentialsProvider implements
AwsCredentialsProvider {
+ public static class CustomCredentialsProvider implements
AwsCredentialsProvider {
- CustomCredentialsProvider() {
+ public CustomCredentialsProvider() {
}
@Override
@@ -60,19 +59,23 @@ public AwsCredentials resolveCredentials() {
}
private static class CustomClassLoader extends ClassLoader {
- }
- private final ClassLoader customClassLoader = spy(new CustomClassLoader());
- {
- try {
- doReturn(CustomCredentialsProvider.class)
- .when(customClassLoader)
- .loadClass(customClassName);
- } catch (ClassNotFoundException ex) {
- throw new RuntimeException(ex);
+ CustomClassLoader(ClassLoader parent) {
+ super(parent);
+ }
+
+ @Override
+ public Class<?> loadClass(String name) throws ClassNotFoundException {
+ if (customClassName.equals(name)) {
+ return CustomCredentialsProvider.class;
+ }
+ return super.loadClass(name);
}
}
+ private final ClassLoader customClassLoader =
+ new
CustomClassLoader(ITestS3AFileSystemIsolatedClassloader.class.getClassLoader());
+
private S3AFileSystem createNewTestFs(Configuration conf) throws IOException
{
S3AFileSystem fs = new S3AFileSystem();
fs.initialize(getFileSystem().getUri(), conf);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]