You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Chao Sun (Jira)" <ji...@apache.org> on 2021/03/10 08:39:00 UTC

[jira] [Updated] (HADOOP-16080) hadoop-aws does not work with hadoop-client-api

     [ https://issues.apache.org/jira/browse/HADOOP-16080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chao Sun updated HADOOP-16080:
------------------------------
    Fix Version/s: 3.4.0

> hadoop-aws does not work with hadoop-client-api
> -----------------------------------------------
>
>                 Key: HADOOP-16080
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16080
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs/s3
>    Affects Versions: 3.2.0, 3.1.1, 3.4.0
>            Reporter: Keith Turner
>            Assignee: Chao Sun
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.2.2, 3.3.1, 3.4.0
>
>          Time Spent: 8h
>  Remaining Estimate: 0h
>
> I attempted to use Accumulo and S3a with the following jars on the classpath.
>  * hadoop-client-api-3.1.1.jar
>  * hadoop-client-runtime-3.1.1.jar
>  * hadoop-aws-3.1.1.jar
> This failed with the following exception.
> {noformat}
> Exception in thread "init" java.lang.NoSuchMethodError: org.apache.hadoop.util.SemaphoredDelegatingExecutor.<init>(Lcom/google/common/util/concurrent/ListeningExecutorService;IZ)V
>     at org.apache.hadoop.fs.s3a.S3AFileSystem.create(S3AFileSystem.java:769)
>     at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1169)
>     at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1149)
>     at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1108)
>     at org.apache.hadoop.fs.FileSystem.createNewFile(FileSystem.java:1413)
>     at org.apache.accumulo.server.fs.VolumeManagerImpl.createNewFile(VolumeManagerImpl.java:184)
>     at org.apache.accumulo.server.init.Initialize.initDirs(Initialize.java:479)
>     at org.apache.accumulo.server.init.Initialize.initFileSystem(Initialize.java:487)
>     at org.apache.accumulo.server.init.Initialize.initialize(Initialize.java:370)
>     at org.apache.accumulo.server.init.Initialize.doInit(Initialize.java:348)
>     at org.apache.accumulo.server.init.Initialize.execute(Initialize.java:967)
>     at org.apache.accumulo.start.Main.lambda$execKeyword$0(Main.java:129)
>     at java.lang.Thread.run(Thread.java:748)
> {noformat}
> The problem is that {{S3AFileSystem.create()}} looks for {{SemaphoredDelegatingExecutor(com.google.common.util.concurrent.ListeningExecutorService)}} which does not exist in hadoop-client-api-3.1.1.jar.  What does exist is {{SemaphoredDelegatingExecutor(org.apache.hadoop.shaded.com.google.common.util.concurrent.ListeningExecutorService)}}.
> To work around this issue I created a version of hadoop-aws-3.1.1.jar that relocated references to Guava.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org