You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Juan Yu (JIRA)" <ji...@apache.org> on 2015/05/15 09:28:59 UTC
[jira] [Created] (HDFS-8409) HDFS client RPC call throws
"java.lang.IllegalStateException"
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)