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

Ted Yu commented on HBASE-17319:
--------------------------------

In test output for the new test, I found several exceptions in the following 
form:
{code}
2016-12-16 20:56:15,107 DEBUG [ProcedureExecutorWorker-1] 
procedure2.ProcedureExecutor(1096): rollback attempt failed for 
SplitTableRegionProcedure                           
(table=testTruncateWithPreserveAfterSplit parent region={ENCODED => 
e2a94ed0e554a3d2d4d7c8a283a1f9fd, NAME => 
'testTruncateWithPreserveAfterSplit,c,1481921769384.            
e2a94ed0e554a3d2d4d7c8a283a1f9fd.', STARTKEY => 'c', ENDKEY => ''} first 
daughter region={ENCODED => 803eb0625a1ee6329963c253ce44a2f3, NAME =>           
                     
'testTruncateWithPreserveAfterSplit,c,1481921774661.803eb0625a1ee6329963c253ce44a2f3.',
 STARTKEY => 'c', ENDKEY => 'f13:'} and second daughter region={ENCODED =>      
       60388dba3c28658ac2c3e8a54cb73a7c, NAME => 
'testTruncateWithPreserveAfterSplit,f13:,1481921774661.60388dba3c28658ac2c3e8a54cb73a7c.',
 STARTKEY => 'f13:', ENDKEY => ''}) id=7  owner=hbase.hfs.0 
state=FINISHED:SPLIT_TABLE_REGION_SET_SPLITTING_TABLE_STATE 
failed=java.io.IOException via master-split-region:java.io.IOException: Failed 
to update region state to SPLITTING for 
testTruncateWithPreserveAfterSplit,c,1481921769384.e2a94ed0e554a3d2d4d7c8a283a1f9fd.
java.io.IOException: Failed to update region state for 
testTruncateWithPreserveAfterSplit,c,1481921769384.e2a94ed0e554a3d2d4d7c8a283a1f9fd.
 as part of operation for          reverting split
  at 
org.apache.hadoop.hbase.master.procedure.SplitTableRegionProcedure.setRegionStateToRevertSplitting(SplitTableRegionProcedure.java:455)
  at 
org.apache.hadoop.hbase.master.procedure.SplitTableRegionProcedure.rollbackState(SplitTableRegionProcedure.java:249)
  at 
org.apache.hadoop.hbase.master.procedure.SplitTableRegionProcedure.rollbackState(SplitTableRegionProcedure.java:73)
  at 
org.apache.hadoop.hbase.procedure2.StateMachineProcedure.rollback(StateMachineProcedure.java:175)
  at org.apache.hadoop.hbase.procedure2.Procedure.doRollback(Procedure.java:730)
  at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeRollback(ProcedureExecutor.java:1093)
  at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeRollback(ProcedureExecutor.java:1049)
  at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeProcedure(ProcedureExecutor.java:952)
  at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$700(ProcedureExecutor.java:73)
{code}

> Truncate table with preserve after split may cause truncation to fail
> ---------------------------------------------------------------------
>
>                 Key: HBASE-17319
>                 URL: https://issues.apache.org/jira/browse/HBASE-17319
>             Project: HBase
>          Issue Type: Bug
>          Components: Admin
>    Affects Versions: 1.1.7, 1.2.4
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>             Fix For: 1.4.0
>
>         Attachments: HBASE-17319-branch-1.patch, HBASE-17319.patch
>
>
> In truncateTableProcedue , when getting tables regions  from meta to recreate 
> new regions, split parents are not excluded, so the new regions can end up 
> with the same start key, and the same region dir:
> {noformat}
> 2016-12-14 20:15:22,231 WARN  [RegionOpenAndInitThread-writetest-1] 
> regionserver.HRegionFileSystem: Trying to create a region that already exists 
> on disk: 
> hdfs://hbasedev1/zhengyan-hbase11-func2/.tmp/data/default/writetest/9b2c8d1539cd92661703ceb8a4d518a1
> {noformat} 
> The truncateTableProcedue will retry forever and never get success.
> A attached unit test shows everything.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to