Juan Yu created HDFS-8409: ----------------------------- Summary: HDFS client RPC call throws "java.lang.IllegalStateException" Key: HDFS-8409 URL: https://issues.apache.org/jira/browse/HDFS-8409 Project: Hadoop HDFS Issue Type: Bug Components: hdfs-client Reporter: Juan Yu
When the HDFS client RPC calls need to retry, it sometimes throws "java.lang.IllegalStateException" and retry is aborted and cause the client call will fail. {code} Caused by: java.lang.IllegalStateException at com.google.common.base.Preconditions.checkState(Preconditions.java:129) at org.apache.hadoop.ipc.Client.setCallIdAndRetryCount(Client.java:116) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:99) at com.sun.proxy.$Proxy16.getFileInfo(Unknown Source) at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1912) at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1089) at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1085) at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1085) at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1400) {code} Here is the check that throws exception {code} public static void setCallIdAndRetryCount(int cid, int rc) { ... Preconditions.checkState(callId.get() == null); } {code} The RetryInvocationHandler tries to call it with not null callId and causes exception. -- This message was sent by Atlassian JIRA (v6.3.4#6332)