[ 
https://issues.apache.org/jira/browse/HADOOP-16080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17241009#comment-17241009
 ] 

Chao Sun commented on HADOOP-16080:
-----------------------------------

[[email protected]] One other issue here is that, even though the APIs are 
private within Hadoop itself, should we avoid using Guava in the APIs 
themselves? this will allow Hadoop modules fit better with each other.

> 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
>            Reporter: Keith Turner
>            Priority: Major
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to