[ https://issues.apache.org/jira/browse/HBASE-20244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16463155#comment-16463155 ]
Duo Zhang commented on HBASE-20244: ----------------------------------- You can use Hadoop 2.7 at client side and use Hadoop 3.x at server side. No problem. IIRC we haven’t released a hbase binary which depends on Hadoop 3.x? Users need to build it by themselves, so I think adding something in the refguide is enough? Especially that Hadoop 3 is not production ready. > NoSuchMethodException when retrieving private method > decryptEncryptedDataEncryptionKey from DFSClient > ----------------------------------------------------------------------------------------------------- > > Key: HBASE-20244 > URL: https://issues.apache.org/jira/browse/HBASE-20244 > Project: HBase > Issue Type: Bug > Reporter: Ted Yu > Assignee: Ted Yu > Priority: Major > Fix For: 2.0.1 > > Attachments: 20244.v1.txt, 20244.v1.txt, 20244.v1.txt > > > I was running unit test against hadoop 3.0.1 RC and saw the following in test > output: > {code} > ERROR [RS-EventLoopGroup-3-3] > asyncfs.FanOutOneBlockAsyncDFSOutputSaslHelper(267): Couldn't properly > initialize access to HDFS internals. Please update your WAL Provider to not > make use of the 'asyncfs' provider. See HBASE-16110 for more information. > java.lang.NoSuchMethodException: > org.apache.hadoop.hdfs.DFSClient.decryptEncryptedDataEncryptionKey(org.apache.hadoop.fs.FileEncryptionInfo) > at java.lang.Class.getDeclaredMethod(Class.java:2130) > at > org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputSaslHelper.createTransparentCryptoHelper(FanOutOneBlockAsyncDFSOutputSaslHelper.java:232) > at > org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputSaslHelper.<clinit>(FanOutOneBlockAsyncDFSOutputSaslHelper.java:262) > at > org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper.initialize(FanOutOneBlockAsyncDFSOutputHelper.java:661) > at > org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper.access$300(FanOutOneBlockAsyncDFSOutputHelper.java:118) > at > org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$13.operationComplete(FanOutOneBlockAsyncDFSOutputHelper.java:720) > at > org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$13.operationComplete(FanOutOneBlockAsyncDFSOutputHelper.java:715) > at > org.apache.hbase.thirdparty.io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:507) > at > org.apache.hbase.thirdparty.io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:500) > at > org.apache.hbase.thirdparty.io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:479) > at > org.apache.hbase.thirdparty.io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:420) > at > org.apache.hbase.thirdparty.io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104) > at > org.apache.hbase.thirdparty.io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82) > at > org.apache.hbase.thirdparty.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:306) > at > org.apache.hbase.thirdparty.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:341) > at > org.apache.hbase.thirdparty.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:633) > at > org.apache.hbase.thirdparty.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) > {code} > The private method was moved by HDFS-12574 to HdfsKMSUtil with different > signature. > To accommodate the above method movement, it seems we need to call the > following method of DFSClient : > {code} > public KeyProvider getKeyProvider() throws IOException { > {code} > Since the new decryptEncryptedDataEncryptionKey method has this signature: > {code} > static KeyVersion decryptEncryptedDataEncryptionKey(FileEncryptionInfo > feInfo, KeyProvider keyProvider) throws IOException { > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)