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

Enis Soztutar commented on HBASE-6160:
--------------------------------------

The exception: 
{code}
12/06/04 06:50:41 ERROR security.UserGroupInformation: 
PriviledgedActionException as: 
cause:org.apache.hadoop.hbase.client.RegionOfflineException: Split daughter 
region 
TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d.
 cannot be found in META.
Exception in thread "main" 
org.apache.hadoop.hbase.client.RegionOfflineException: Split daughter region 
TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d.
 cannot be found in META.
        at 
org.apache.hadoop.hbase.client.MetaScanner$BlockingMetaScannerVisitor.processRow(MetaScanner.java:433)
        at 
org.apache.hadoop.hbase.client.MetaScanner$TableMetaScannerVisitor.processRow(MetaScanner.java:490)
        at 
org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:227)
        at 
org.apache.hadoop.hbase.client.MetaScanner.access$000(MetaScanner.java:57)
        at 
org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:136)
        at 
org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:133)
        at 
org.apache.hadoop.hbase.client.HConnectionManager.execute(HConnectionManager.java:361)
        at 
org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:133)
        at 
org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:108)
        at 
org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:86)
        at 
org.apache.hadoop.hbase.client.MetaScanner.allTableRegions(MetaScanner.java:326)
        at 
org.apache.hadoop.hbase.client.HTable.getRegionLocations(HTable.java:499)
        at 
org.apache.hadoop.hbase.client.HTable.getStartEndKeys(HTable.java:452)
        at 
org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.getSplits(TableInputFormatBase.java:132)
        at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:962)
        at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:979)

{code}

So the region in question is 
{code}
50a4617eead34cad335a8dfa727d177d
{code}
and from the logs we see that {{25d9c4ff574a37bd95bf5e5be6d618dd}} is split 
into {{1dc74065583c67b3916c4ed158cb53fa}} and 
{{50a4617eead34cad335a8dfa727d177d}}

{code}
./hbase-hbase-regionserver-ip-10-226-65-102.log:2012-06-04 04:56:02,855 INFO 
org.apache.hadoop.hbase.regionserver.SplitRequest: Region split, META updated, 
and report to master. 
Parent=TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338799021182.25d9c4ff574a37bd95bf5e5be6d618dd.,
 new regions: 
TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338800158687.1dc74065583c67b3916c4ed158cb53fa.,
 
TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d..
 Split took 4sec
{code}

After some time, {{50a4617eead34cad335a8dfa727d177d}} is further split into 
two: 

{code}
./hbase-hbase-regionserver-ip-10-226-65-102.log:2012-06-04 05:41:13,488 INFO 
org.apache.hadoop.hbase.regionserver.SplitRequest: Region split, META updated, 
and report to master. Parent=TestLoadAndVerify_1
338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d.,
 new regions: 
TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338802866393.16288
65d7fa8e9eec3a7d8073465296e., 
TestLoadAndVerify_1338798130970,]y\x04\x00\x00\x00\x00\x00/000047_0,1338802866393.413cafe6c61426e26254c197e8c0a6ba..
 Split took 7sec
{code}

Further time passes, and CatalogJanitor deletes the META entry for that region:
{code}
./hbase-hbase-master-ip-10-144-69-91.log:2012-06-04 05:47:16,688 DEBUG 
org.apache.hadoop.hbase.master.CatalogJanitor: Deleting region 
TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d.
 because daughter splits no longer hold references
./hbase-hbase-master-ip-10-144-69-91.log:2012-06-04 05:47:18,103 INFO 
org.apache.hadoop.hbase.catalog.MetaEditor: Deleted daughters references, 
qualifier=splitA and qualifier=splitB, from parent 
TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d.
./hbase-hbase-master-ip-10-144-69-91.log:2012-06-04 05:47:18,103 DEBUG 
org.apache.hadoop.hbase.regionserver.HRegion: DELETING region 
hdfs://ip-10-10-50-98.ec2.internal:8020/apps/hbase/data/TestLoadAndVerify_1338798130970/50a4617eead34cad335a8dfa727d177d
./hbase-hbase-master-ip-10-144-69-91.log:2012-06-04 05:47:18,145 INFO 
org.apache.hadoop.hbase.catalog.MetaEditor: Deleted region 
TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d.
 from META
./hbase-hbase-master-ip-10-144-69-91.log:2012-06-04 05:52:12,891 WARN 
org.apache.hadoop.hbase.master.CatalogJanitor: Daughter regiondir does not 
exist: 
hdfs://ip-10-10-50-98.ec2.internal:8020/apps/hbase/data/TestLoadAndVerify_1338798130970/50a4617eead34cad335a8dfa727d177d
{code}

However, there is no log for the grantfather,25d9c4ff574a37bd95bf5e5be6d618dd, 
being deleted from META. In fact, META scan also confirms that the grandfather 
is in META, but not the father: 
{code}
 
TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338799021182.25d9c4ff574a37bd95bf5e5be6d618dd.
 column=info:regioninfo, timestamp=1338800161105, value={NAME => 
'TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338799021182.25d9c4ff574a37bd95bf5e5be6d618dd.',
 STARTKEY => '[\x02\x01\x00\x00\x00\x00\x00/000071_0', ENDKEY => 
'^P\xD7\x945\xE5\x0Dl', ENCODED => 25d9c4ff574a37bd95bf5e5be6d618dd, OFFLINE => 
true, SPLIT => true,}
 
TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338799021182.25d9c4ff574a37bd95bf5e5be6d618dd.
 column=info:server, timestamp=1338799025521, 
value=ip-10-226-65-102.ec2.internal:60020
 
TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338799021182.25d9c4ff574a37bd95bf5e5be6d618dd.
 column=info:serverstartcode, timestamp=1338799025521, value=1338780117340
 
TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338799021182.25d9c4ff574a37bd95bf5e5be6d618dd.
 column=info:splitA, timestamp=1338800161105, value={NAME => 
'TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338800158687.1dc74065583c67b3916c4ed158cb53fa.',
 STARTKEY => '[\x02\x01\x00\x00\x00\x00\x00/000071_0', ENDKEY => 
'\\xA2\x04\x00\x00\x00\x00\x00/000048_0', ENCODED => 
1dc74065583c67b3916c4ed158cb53fa,}
 
TestLoadAndVerify_1338798130970,[\x02\x01\x00\x00\x00\x00\x00/000071_0,1338799021182.25d9c4ff574a37bd95bf5e5be6d618dd.
 column=info:splitB, timestamp=1338800161105, value={NAME => 
'TestLoadAndVerify_1338798130970,\\xA2\x04\x00\x00\x00\x00\x00/000048_0,1338800158687.50a4617eead34cad335a8dfa727d177d.',
 STARTKEY => '\\xA2\x04\x00\x00\x00\x00\x00/000048_0', ENDKEY => 
'^P\xD7\x945\xE5\x0Dl', ENCODED => 50a4617eead34cad335a8dfa727d177d,}
{code}

                
> META entries from daughters can be deleted before parent entries
> ----------------------------------------------------------------
>
>                 Key: HBASE-6160
>                 URL: https://issues.apache.org/jira/browse/HBASE-6160
>             Project: HBase
>          Issue Type: Bug
>          Components: client, regionserver
>    Affects Versions: 0.92.2, 0.94.0, 0.96.0
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>
> HBASE-5986 fixed and issue, where the client sees the META entry for the 
> parent, but not the children. However, after the fix, we have seen the 
> following issue in tests: 
> Region A is split to -> B, C
> Region B is split to -> D, E
> After some time, META entry for B is deleted since it is not needed anymore, 
> but META entry for Region A stays in META (C still refers it). In this case, 
> the client throws RegionOfflineException for B. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to