[
https://issues.apache.org/jira/browse/HBASE-534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12580922#action_12580922
]
stack commented on HBASE-534:
-----------------------------
So, in the above exception, the complaint is about a file that was in the
parent of this daughter region.
Looking back on the opening of this daughter region, I see following exceptions:
{code}
2008-03-16 14:12:40,624 DEBUG org.apache.hadoop.hbase.HStore: started
compaction of 2 files using
hdfs://lv1-xen-pdc-2.worldlingo.com:9000/hbase/pdc-docs/compaction.dir for
1663054471/contents2008-03-16 14:12:48,142 INFO org.apache.hadoop.fs.DFSClient:
org.apache.hadoop.ipc.RemoteException:
org.apache.hadoop.dfs.LeaseExpiredException: No lease on
/hbase/pdc-docs/compaction.dir/1663054471/contents/mapfiles/5227279456974119035/data
File does not exist. [Lease. Holder: 44 46 53 43 6c 69 65 6e 74 5f 32 30 39
32 36 34 37 35 33 36, heldlocks: 0, pendingcreates: 3]
at org.apache.hadoop.dfs.FSNamesystem.checkLease(FSNamesystem.java:1160)
at
org.apache.hadoop.dfs.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1097)
at org.apache.hadoop.dfs.NameNode.addBlock(NameNode.java:312)
at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:409)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:899)
at org.apache.hadoop.ipc.Client.call(Client.java:512)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:198)
at org.apache.hadoop.dfs.$Proxy1.addBlock(Unknown Source)
at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
at org.apache.hadoop.dfs.$Proxy1.addBlock(Unknown Source)
at
org.apache.hadoop.dfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:2061)
at
org.apache.hadoop.dfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:1954)
at
org.apache.hadoop.dfs.DFSClient$DFSOutputStream.access$1500(DFSClient.java:1479)
at
org.apache.hadoop.dfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:1593)
... above exception then is retried:
2008-03-16 14:12:48,143 WARN org.apache.hadoop.fs.DFSClient:
NotReplicatedYetException sleeping
/hbase/pdc-docs/compaction.dir/1663054471/contents/mapfiles/5227279456974119035/data
retries left 4
...
Until
2008-03-16 14:12:54,196 ERROR org.apache.hadoop.hbase.HRegionServer: Compaction
failed for region pdc-docs,EP05011250NWA2,1205705554585
java.io.IOException: Could not get block locations. Aborting... at
org.apache.hadoop.dfs.DFSClient$DFSOutputStream.processDatanodeError(DFSClient.java:1824)
at
org.apache.hadoop.dfs.DFSClient$DFSOutputStream.access$1100(DFSClient.java:1479)
at
org.apache.hadoop.dfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:1571)
{code}
Perhaps it was the second file of the two files to compact?
Region goes on to open? 30 minutes later we try to compact again but fails
with:
{code}
2008-03-16 14:42:40,726 ERROR org.apache.hadoop.hbase.HRegionServer: Compaction
failed for region pdc-docs,EP05011250NWA2,1205705554585
java.io.FileNotFoundException: File
hdfs://lv1-xen-pdc-2.worldlingo.com:9000/hbase/pdc-docs/1733592281/contents/mapfiles/101719651524869690/data
does not exist.
{code}
Subsequently, the region continues to 'work' but after every flush tries to
compact and fails with:
{code}
2008-03-17 08:42:41,380 WARN org.apache.hadoop.hbase.HStore: Failed with
java.io.FileNotFoundException: File
hdfs://lv1-xen-pdc-2.worldlingo.com:9000/hbase/pdc-docs/1733592281/contents/mapfiles/101719651524869690/data
does not exist.:
1663054471/contents/5669005871484475450/1733592281/101719651524869690/bottom
1733592281/101719651524869690/bottom for 1663054471/contents
2008-03-17 08:42:41,422 ERROR org.apache.hadoop.hbase.HRegionServer: Compaction
failed for region pdc-docs,EP05011250NWA2,1205705554585
java.io.FileNotFoundException: File
hdfs://lv1-xen-pdc-2.worldlingo.com:9000/hbase/pdc-docs/1733592281/contents/mapfiles/101719651524869690/data
does not exist.
at
org.apache.hadoop.dfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:341)
at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:538)
at
org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1387)
at
org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1382)
at org.apache.hadoop.io.MapFile$Reader.<init>(MapFile.java:254)
at org.apache.hadoop.io.MapFile$Reader.<init>(MapFile.java:242)
at
org.apache.hadoop.hbase.HStoreFile$HbaseMapFile$HbaseReader.<init>(HStoreFile.java:600)
at
org.apache.hadoop.hbase.HStoreFile$BloomFilterMapFile$Reader.<init>(HStoreFile.java:655)
at
org.apache.hadoop.hbase.HStoreFile$HalfMapFileReader.<init>(HStoreFile.java:758)
at org.apache.hadoop.hbase.HStoreFile.getReader(HStoreFile.java:424)
at org.apache.hadoop.hbase.HStore.compactHStoreFiles(HStore.java:1281)
at org.apache.hadoop.hbase.HStore.compact(HStore.java:1245)
at org.apache.hadoop.hbase.HRegion.compactStores(HRegion.java:793)
at org.apache.hadoop.hbase.HRegion.compactIfNeeded(HRegion.java:725)
at
org.apache.hadoop.hbase.HRegionServer$CompactSplitThread.run(HRegionServer.java:254)
{code}
This seems like a simple enough exception to handle... should at least remove
the Reader that is throwing the FNF from our list of ready-Readers.
> Stores retaining references to long-deleted mapfiles
> ----------------------------------------------------
>
> Key: HBASE-534
> URL: https://issues.apache.org/jira/browse/HBASE-534
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.1.0
> Reporter: stack
>
> Saw the following on the Lars clusters (He's up on 0.16.1 and very recent 0.1
> branch) trying to run a scan over all his content:
> {code}
> java.io.IOException: java.io.IOException: HStoreScanner failed construction
> at
> org.apache.hadoop.hbase.HStore$StoreFileScanner.<init>(HStore.java:2241)
> at
> org.apache.hadoop.hbase.HStore$HStoreScanner.<init>(HStore.java:2362)
> at org.apache.hadoop.hbase.HStore.getScanner(HStore.java:2152)
> at org.apache.hadoop.hbase.HRegion$HScanner.<init>(HRegion.java:1640)
> at org.apache.hadoop.hbase.HRegion.getScanner(HRegion.java:1214)
> at
> org.apache.hadoop.hbase.HRegionServer.openScanner(HRegionServer.java:1448)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:910)
> Caused by: java.io.FileNotFoundException: File
> hdfs://lv1-xen-pdc-2.worldlingo.com:9000/hbase/pdc-docs/1733592281/contents/mapfiles/3435064940161142159/data
> does not exist.
> at
> org.apache.hadoop.dfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:341)
> at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:538)
> at
> org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1387)
> at
> org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1382)
> at org.apache.hadoop.io.MapFile$Reader.<init>(MapFile.java:254)
> at org.apache.hadoop.io.MapFile$Reader.<init>(MapFile.java:242)
> at
> org.apache.hadoop.hbase.HStoreFile$HbaseMapFile$HbaseReader.<init>(HStoreFile.java:600)
> at
> org.apache.hadoop.hbase.HStoreFile$BloomFilterMapFile$Reader.<init>(HStoreFile.java:655)
> at
> org.apache.hadoop.hbase.HStoreFile$HalfMapFileReader.<init>(HStoreFile.java:758)
> at org.apache.hadoop.hbase.HStoreFile.getReader(HStoreFile.java:424)
> at
> org.apache.hadoop.hbase.HStore$StoreFileScanner.<init>(HStore.java:2216)
> ... 11 more
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> at
> org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:82)
> at
> org.apache.hadoop.hbase.HTable$ClientScanner.nextScanner(HTable.java:874)
> at org.apache.hadoop.hbase.HTable$ClientScanner.next(HTable.java:915)
> at
> org.apache.hadoop.hbase.hql.SelectCommand.scanPrint(SelectCommand.java:233)
> at
> org.apache.hadoop.hbase.hql.SelectCommand.execute(SelectCommand.java:100)
> at
> org.apache.hadoop.hbase.hql.HQLClient.executeQuery(HQLClient.java:50)
> at org.apache.hadoop.hbase.Shell.main(Shell.java:114)
> {code}
> The scanner breaks when it hits the above exception. The odd thing is that
> the referenced mapfile is out of a region that was deleted 4 days ago after
> purportedly all references had been let go:
> {code}
> 2008-03-16 15:13:36,744 DEBUG org.apache.hadoop.hbase.HRegion: DELETING
> region hdfs://lv1-xen-pdc-2.worldlingo.com:9000/hbase/pdc-docs/1733592281
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.