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

Michael Stack commented on HBASE-23177:
---------------------------------------

Here is how it looks w/o the patch. Notice how the complaint is about the file 
that is referenced when we are opening a Reference:

{code}
java.io.FileNotFoundException: 
/Users/stack/checkouts/hbase.apache.git/hbase-server/target/test-data/abcd/38e25c8c-c6be-aec6-a38e-3266b23ebb69/4567

        at 
org.apache.hadoop.fs.RawLocalFileSystem.open(RawLocalFileSystem.java:200)
        at 
org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:349)
        at org.apache.hadoop.fs.FilterFileSystem.open(FilterFileSystem.java:162)
        at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:768)
        at 
org.apache.hadoop.hbase.io.FSDataInputStreamWrapper.<init>(FSDataInputStreamWrapper.java:125)
        at 
org.apache.hadoop.hbase.io.FSDataInputStreamWrapper.<init>(FSDataInputStreamWrapper.java:102)
        at 
org.apache.hadoop.hbase.regionserver.StoreFileInfo.open(StoreFileInfo.java:291)
        at 
org.apache.hadoop.hbase.regionserver.TestStoreFileInfo.testOpenErrorMessageReference(TestStoreFileInfo.java:127)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at 
org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
        at 
org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
        at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
        at java.util.concurrent.FutureTask.run(FutureTask.java)
        at java.lang.Thread.run(Thread.java:748)
{code}

Here is how it looks like with patch. Note how it says it is opening  Reference 
-- in particular the bottom half.

{code}
java.io.FileNotFoundException: 
/Users/stack/checkouts/hbase.apache.git/hbase-server/target/test-data/140a45bc-a77d-5d0a-8046-bc3bcbc43079/236973ff-a83c-9812-1bf9-22d4061996d1/4567.abcd->/Users/stack/checkouts/hbase.apache.git/hbase-server/target/test-data/abcd/236973ff-a83c-9812-1bf9-22d4061996d1/4567-bottom

        at 
org.apache.hadoop.hbase.regionserver.StoreFileInfo.open(StoreFileInfo.java:294)
        at 
org.apache.hadoop.hbase.regionserver.TestStoreFileInfo.testOpenErrorMessageReference(TestStoreFileInfo.java:127)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at 
org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
        at 
org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
        at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
        at java.util.concurrent.FutureTask.run(FutureTask.java)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.FileNotFoundException: 
/Users/stack/checkouts/hbase.apache.git/hbase-server/target/test-data/abcd/236973ff-a83c-9812-1bf9-22d4061996d1/4567
        at 
org.apache.hadoop.fs.RawLocalFileSystem.open(RawLocalFileSystem.java:200)
        at 
org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:349)
        at org.apache.hadoop.fs.FilterFileSystem.open(FilterFileSystem.java:162)
        at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:768)
        at 
org.apache.hadoop.hbase.io.FSDataInputStreamWrapper.<init>(FSDataInputStreamWrapper.java:125)
        at 
org.apache.hadoop.hbase.io.FSDataInputStreamWrapper.<init>(FSDataInputStreamWrapper.java:102)
        at 
org.apache.hadoop.hbase.regionserver.StoreFileInfo.open(StoreFileInfo.java:289)
        ... 22 more

{code}

> If fail to open reference because FNFE, make it plain it is a Reference
> -----------------------------------------------------------------------
>
>                 Key: HBASE-23177
>                 URL: https://issues.apache.org/jira/browse/HBASE-23177
>             Project: HBase
>          Issue Type: Bug
>          Components: Operability
>            Reporter: Michael Stack
>            Priority: Major
>
> If root file for a Reference is missing, takes a while to figure it. 
> Master-side says failed open of Region. RegionServer side it talks about FNFE 
> for some random file. Better, dump out Reference data.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to