[ https://issues.apache.org/jira/browse/HADOOP-15953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16701328#comment-16701328 ]
wujinhu edited comment on HADOOP-15953 at 11/28/18 2:47 AM: ------------------------------------------------------------ *Testing result(set fs.oss.credentials.provider = org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider):* [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunCredentials [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.926 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunCredentials [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSInputStream [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.169 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSInputStream [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContext [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.53 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContext [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextStatistics [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.185 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextStatistics [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextCreateMkdir [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.952 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextCreateMkdir [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextMainOperations [WARNING] Tests run: 68, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 122.761 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextMainOperations [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextUtil [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.569 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextUtil [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextURI [WARNING] Tests run: 17, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 47.299 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextURI [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractSeek [INFO] Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.562 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractSeek [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractMkdir [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.244 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractMkdir [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDelete [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.418 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDelete [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractGetFileStatus [INFO] Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.887 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractGetFileStatus [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDistCp [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.85 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDistCp [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRename [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.689 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRename [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRootDir [INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.397 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRootDir [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractCreate [WARNING] Tests run: 11, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 15.166 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractCreate [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractOpen [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.265 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractOpen [INFO] Running org.apache.hadoop.fs.aliyun.oss.yarn.TestOSS [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.177 s - in org.apache.hadoop.fs.aliyun.oss.yarn.TestOSS [INFO] Running org.apache.hadoop.fs.aliyun.oss.yarn.TestOSSMiniYarnCluster [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.154 s - in org.apache.hadoop.fs.aliyun.oss.yarn.TestOSSMiniYarnCluster [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemStore [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.35 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemStore [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSBlockOutputStream [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 112.125 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSBlockOutputStream [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemContract [INFO] Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 64.927 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemContract [INFO] [INFO] Results: [INFO] [WARNING] Tests run: 268, Failures: 0, Errors: 0, Skipped: 7 [INFO] was (Author: wujinhu): Testing result(set fs.oss.credentials.provider = org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider): [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunCredentials [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.926 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunCredentials [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSInputStream [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.169 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSInputStream [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContext [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.53 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContext [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextStatistics [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.185 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextStatistics [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextCreateMkdir [INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.952 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextCreateMkdir [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextMainOperations [WARNING] Tests run: 68, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 122.761 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextMainOperations [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextUtil [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.569 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextUtil [INFO] Running org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextURI [WARNING] Tests run: 17, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 47.299 s - in org.apache.hadoop.fs.aliyun.oss.fileContext.TestOSSFileContextURI [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractSeek [INFO] Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.562 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractSeek [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractMkdir [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.244 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractMkdir [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDelete [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.418 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDelete [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractGetFileStatus [INFO] Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.887 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractGetFileStatus [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDistCp [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.85 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractDistCp [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRename [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.689 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRename [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRootDir [INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.397 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractRootDir [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractCreate [WARNING] Tests run: 11, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 15.166 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractCreate [INFO] Running org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractOpen [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.265 s - in org.apache.hadoop.fs.aliyun.oss.contract.TestAliyunOSSContractOpen [INFO] Running org.apache.hadoop.fs.aliyun.oss.yarn.TestOSS [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.177 s - in org.apache.hadoop.fs.aliyun.oss.yarn.TestOSS [INFO] Running org.apache.hadoop.fs.aliyun.oss.yarn.TestOSSMiniYarnCluster [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.154 s - in org.apache.hadoop.fs.aliyun.oss.yarn.TestOSSMiniYarnCluster [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemStore [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.35 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemStore [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSBlockOutputStream [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 112.125 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSBlockOutputStream [INFO] Running org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemContract [INFO] Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 64.927 s - in org.apache.hadoop.fs.aliyun.oss.TestAliyunOSSFileSystemContract [INFO] [INFO] Results: [INFO] [WARNING] Tests run: 268, Failures: 0, Errors: 0, Skipped: 7 [INFO] > AliyunOSS: make AliyunCredentialsProvider compatible with the required > constructor > ---------------------------------------------------------------------------------- > > Key: HADOOP-15953 > URL: https://issues.apache.org/jira/browse/HADOOP-15953 > Project: Hadoop Common > Issue Type: Improvement > Components: fs/oss > Affects Versions: 2.10.0, 3.2.0, 2.9.2, 3.0.3, 3.3.0, 3.1.2 > Reporter: wujinhu > Assignee: wujinhu > Priority: Major > Attachments: HADOOP-15953.001.patch, HADOOP-15953.002.patch > > > Hadoop aliyun module uses AliyunCredentialsProvider as default > CredentialsProvider if user do not set fs.oss.credentials.provider. However, > if user set fs.oss.credentials.provider to > org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider, exception will be > thrown like below: > {code:java} > java.io.IOException: > org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider constructor > exception. A class specified in fs.oss.credentials.provider must provide an > accessible constructor accepting URI and Configuration, or an accessible > default constructor. > at > org.apache.hadoop.fs.aliyun.oss.AliyunOSSUtils.getCredentialsProvider(AliyunOSSUtils.java:131) > at > org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystemStore.initialize(AliyunOSSFileSystemStore.java:154) > at > org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem.initialize(AliyunOSSFileSystem.java:344) > at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3302) > at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:124) > at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3351) > at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3319) > at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:479) > at > org.apache.hadoop.fs.contract.AbstractBondedFSContract.init(AbstractBondedFSContract.java:72) > at > org.apache.hadoop.fs.contract.AbstractFSContractTestBase.setup(AbstractFSContractTestBase.java:177) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) > at > org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298) > at > org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.lang.NoSuchMethodException: > org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider.<init>() > at java.lang.Class.getConstructor0(Class.java:3082) > at java.lang.Class.getDeclaredConstructor(Class.java:2178) > at > org.apache.hadoop.fs.aliyun.oss.AliyunOSSUtils.getCredentialsProvider(AliyunOSSUtils.java:125) > ... 23 more > {code} > Because AliyunCredentialsProvider does not have corresponding constructor. > {code:java} > public class AliyunCredentialsProvider implements CredentialsProvider { > private Credentials credentials = null; > public AliyunCredentialsProvider(Configuration conf) throws IOException { > -------------------------------------------------- > try { > credentials = > (CredentialsProvider)credClass.getDeclaredConstructor( > URI.class, Configuration.class).newInstance(uri, conf); > } catch (NoSuchMethodException | SecurityException e) { > credentials = > (CredentialsProvider)credClass.getDeclaredConstructor() > .newInstance(); > } > {code} > > *Although the documentation says you should provide a `specified class must > provide an accessible constructor accepting java.net.URI and > org.apache.hadoop.conf.Configuration` if you set this configuration*, we > should make > *AliyunCredentialsProvider* compatible with this. > {code:java} > <property> > <name>fs.oss.credentials.provider</name> > <description> > Class name of a credentials provider that implements > com.aliyun.oss.common.auth.CredentialsProvider. Omit if using > access/secret keys > or another authentication mechanism. The specified class must provide an > accessible constructor accepting java.net.URI and > org.apache.hadoop.conf.Configuration, or an accessible default > constructor. > </description> > </property> > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org