[
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)