chenwandong created HBASE-22626:
-----------------------------------

             Summary: Master assigns the region successfully, but updates the 
state of region failed, and then keeping the state of the region is OPENNING in 
zookeeper,  If master restarted, those OPENNING regions will not be assign 
forever.
                 Key: HBASE-22626
                 URL: https://issues.apache.org/jira/browse/HBASE-22626
             Project: HBase
          Issue Type: Bug
          Components: Region Assignment
    Affects Versions: 2.0.0
            Reporter: chenwandong


Problem Description
(1)One of the region server restarts causes all the regions that have been 
assigned to be migrated.

(2)The master checks these regions and assigns them to other region servers, 
and assigns other region server assignments successfully, but the update state 
fails.

2019-06-22 16:44:20,065 INFO [PEWorker-8] procedure2.ProcedureExecutor: 
Finished pid=5038, ppid=4488, state=SUCCESS; AssignProcedure table=test061910, 
region=379c730490b4848f3db065fb25b87452 in 10.5680sec
... ...
2019-06-22 16:44:38,725 INFO [PEWorker-4] procedure.MasterProcedureScheduler: 
pid=5038, ppid=4488, state=SUCCESS; AssignProcedure table=test061910, 
region=379c730490b4848f3db065fb25b87452 checking lock on 
379c730490b4848f3db065fb25b87452
2019-06-22 16:44:38,725 ERROR [PEWorker-4] procedure2.ProcedureExecutor: 
CODE-BUG: Uncaught runtime exception for pid=5038, ppid=4488, state=SUCCESS; 
AssignProcedure table=test061910, region=379c730490b4848f3db065fb25b87452
java.lang.UnsupportedOperationException: Unhandled state 
REGION_TRANSITION_FINISH; there is no rollback for assignment unless we cancel 
the operation by dropping/disabling the table
 at 
org.apache.hadoop.hbase.master.assignment.RegionTransitionProcedure.rollback(RegionTransitionProcedure.java:412)
 at 
org.apache.hadoop.hbase.master.assignment.RegionTransitionProcedure.rollback(RegionTransitionProcedure.java:95)
 at org.apache.hadoop.hbase.procedure2.Procedure.doRollback(Procedure.java:864)
 at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeRollback(ProcedureExecutor.java:1373)
 at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeRollback(ProcedureExecutor.java:1329)
 at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeProcedure(ProcedureExecutor.java:1198)
 at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$800(ProcedureExecutor.java:75)
 at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor$WorkerThread.run(ProcedureExecutor.java:1761)

(3)The master restarted, and the old region state will be loaded after 
restarting. The region for the OPENNING state is not reassigned forever, and 
the following log is printed.

2019-06-22 16:46:26,210 INFO [master/hdp0:16000] assignment.RegionStateStore: 
Load hbase:meta entry region=379c730490b4848f3db065fb25b87452, 
regionState=OPENING, lastHost=hdp2,16020,1561190163476, 
regionLocation=hdp0,16020,1561190163887, openSeqNum=69448
... ...
2019-06-22 16:51:28,514 WARN [ProcExecTimeout] assignment.AssignmentManager: 
STUCK Region-In-Transition rit=OPENING, location=hdp0,16020,1561190163887, 
table=test061910, region=379c730490b4848f3db065fb25b87452
... ....
2019-06-22 16:49:28,483 WARN [ProcExecTimeout] assignment.AssignmentManager: 
STUCK Region-In-Transition rit=OPENING, location=hdp0,16020,1561190163887, 
table=test061910, region=379c730490b4848f3db065fb25b87452

(4) The state in zookeeper
 
test061910,00000000000000000031457280,1560943902323.379c730490b4848f3db065fb25b87452.
 column=info:regioninfo, timestamp=1561192609882, value=\{ENCODED => 
379c730490b4848f3db065fb25b87452, NAME => 
'test061910,00000000000000000031457280,1560943902323.379c730490b4848f3db065fb25b87452.',
 STARTKEY => '00000000000000000031457280', ENDKEY => 
'00000000000000000041943040'}
 
test061910,00000000000000000031457280,1560943902323.379c730490b4848f3db065fb25b87452.
 column=info:seqnumDuringOpen, timestamp=1561190288613, 
value=\x00\x00\x00\x00\x00\x01\x0FH
 
test061910,00000000000000000031457280,1560943902323.379c730490b4848f3db065fb25b87452.
 column=info:server, timestamp=1561190288613, value=hdp2:16020
 
test061910,00000000000000000031457280,1560943902323.379c730490b4848f3db065fb25b87452.
 column=info:serverstartcode, timestamp=1561190288613, value=1561190163476
 
test061910,00000000000000000031457280,1560943902323.379c730490b4848f3db065fb25b87452.
 column=info:sn, timestamp=1561192609882, value=hdp0,16020,1561190163887
 
test061910,00000000000000000031457280,1560943902323.379c730490b4848f3db065fb25b87452.
 column=info:state, timestamp=1561192609882, value=OPENING

 

Problem Recurrence
(1) Modify the state of a normal region from OPEN to OPENNING.
(2) Restart the master, view the master log and hbase web.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to