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

stack commented on HBASE-826:
-----------------------------

After study, it looks like the deletes are in place; its just that when we do 
the getClosestAtOrBefore, when pulling from StoreFiles, AND we have candidate 
keys gotten from memcache, there is a code path we take that doesn't record 
deleted cells.

The handleDeleted Memcache function needs to be used by 
HStore.rowAtOrBeforeWithCandidates.  See the duplicated code that is in HStore 
and in handleDeleted?  The bit that is missing from HStore is the 
deletes.add(k).  Suggest moving the handleDeleted into HStore, make it a static 
and then have Memcache and HStore.rowAtOrBeforeWithCandidates use it.

Doing more testing to verify this indeed fixes things.

> delete table followed by recreation results in honked table
> -----------------------------------------------------------
>
>                 Key: HBASE-826
>                 URL: https://issues.apache.org/jira/browse/HBASE-826
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: stack
>            Priority: Blocker
>             Fix For: 0.2.1, 0.3.0
>
>
> Daniel Leffel suspected that delete and then recreate causes issues.  I tried 
> it on our little cluster.  I'm doing a MR load up into the newly created 
> table and after a few million rows, the MR job just hangs.  Its looking for a 
> region that doesn't exist:
> {code}
> 2008-08-13 03:32:36,840 INFO org.apache.hadoop.metrics.jvm.JvmMetrics: 
> Initializing JVM Metrics with processName=MAP, sessionId=
> 2008-08-13 03:32:36,940 INFO org.apache.hadoop.mapred.MapTask: 
> numReduceTasks: 1
> 2008-08-13 03:32:37,420 DEBUG 
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers: Found ROOT 
> REGION => {NAME => '-ROOT-,,0', STARTKEY => '', ENDKEY => '', ENCODED => 
> 70236052, TABLE => {{NAME => '-ROOT-', IS_ROOT => 'true', IS_META => 'true', 
> FAMILIES => [{NAME => 'info', BLOOMFILTER => 'false', COMPRESSION => 'NONE', 
> VERSIONS => '1', LENGTH => '2147483647', TTL => '-1', IN_MEMORY => 'false', 
> BLOCKCACHE => 'false'}]}}
> 2008-08-13 03:32:37,541 DEBUG 
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers: reloading 
> table servers because: HRegionInfo was null or empty in .META.
> 2008-08-13 03:32:37,541 DEBUG 
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers: Removed 
> .META.,,1 from cache because of TestTable,0008388608,99999999999999
> 2008-08-13 03:32:37,544 DEBUG 
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers: Found ROOT 
> REGION => {NAME => '-ROOT-,,0', STARTKEY => '', ENDKEY => '', ENCODED => 
> 70236052, TABLE => {{NAME => '-ROOT-', IS_ROOT => 'true', IS_META => 'true', 
> FAMILIES => [{NAME => 'info', BLOOMFILTER => 'false', COMPRESSION => 'NONE', 
> VERSIONS => '1', LENGTH => '2147483647', TTL => '-1', IN_MEMORY => 'false', 
> BLOCKCACHE => 'false'}]}}
> 2008-08-13 03:32:47,605 DEBUG 
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers: reloading 
> table servers because: HRegionInfo was null or empty in .META.
> 2008-08-13 03:32:47,606 DEBUG 
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers: Removed 
> .META.,,1 from cache because of TestTable,0008388608,99999999999999
> ....
> {code}
> My guess is that its a region that was in the tables' previous incarnation 
> with ghosts left over down inside .META.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to