Ted Yu created HBASE-18312:
------------------------------

             Summary: Ineffective handling of FileNotFoundException in 
FileLink$FileLinkInputStream.tryOpen()
                 Key: HBASE-18312
                 URL: https://issues.apache.org/jira/browse/HBASE-18312
             Project: HBase
          Issue Type: Bug
            Reporter: Ted Yu


Found the following in region server log:
{code}
2017-07-03 11:22:04,669 WARN  
[regionserver/a.b.c.d:16020-shortCompactions-1499094046361] 
retry.RetryInvocationHandler: Exception while       invoking 
ClientNamenodeProtocolTranslatorPB.getBlockLocations over e.f.g.h:8020. Not 
retrying because try once and fail.
org.apache.hadoop.ipc.RemoteException(java.io.FileNotFoundException): File does 
not exist: /hbase/data/default/X/4d61af9d1cbcc5fe2a5cbddbfc92fe7e/ 
K/47222a9cbd294f499f49de92ecf330ee
  at org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:71)
  at org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:61)
...
  at 
org.apache.hadoop.hbase.io.FileLink$FileLinkInputStream.tryOpen(FileLink.java:291)
  at 
org.apache.hadoop.hbase.io.FileLink$FileLinkInputStream.<init>(FileLink.java:122)
  at 
org.apache.hadoop.hbase.io.FileLink$FileLinkInputStream.<init>(FileLink.java:113)
  at org.apache.hadoop.hbase.io.FileLink.open(FileLink.java:404)
  at 
org.apache.hadoop.hbase.io.FSDataInputStreamWrapper.<init>(FSDataInputStreamWrapper.java:98)
  at 
org.apache.hadoop.hbase.io.FSDataInputStreamWrapper.<init>(FSDataInputStreamWrapper.java:83)
{code}
Here is related code:
{code}
    private FSDataInputStream tryOpen() throws IOException {
      for (Path path: fileLink.getLocations()) {
...
        } catch (FileNotFoundException e) {
          // Try another file location
        }
{code}
The intention is to try possible locations for the linked file.
However, RemoteException was the exception encountered. This makes the above 
catch clause ineffective.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to