- 
                Notifications
    
You must be signed in to change notification settings  - Fork 3.4k
 
HBASE-26383 HBCK incorrectly reports inconsistencies for recently split regions following a master failover #3775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…it regions following a master failover A regression was introduced by HBASE-25847 which changed regionInfo#isParentSplit to regionState#isSplit. The region state after restart is CLOSED instead of SPLIT. We need to check both regionState and regionInfo for split status.
| 
           🎊 +1 overall 
 
 This message was automatically generated.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Was wondering why the change over in HBASE-25847 in the first place @apurtell (If you remember...). I think your change would have been fine only we lose RegionState on Master restart (per Duo comment here
hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
Line 1961 in 401b60b
| // TODO: here we just update the parent region info in meta, to set split and offline to true, | 
| 
           🎊 +1 overall 
 
 This message was automatically generated.  | 
    
| 
           🎊 +1 overall 
 
 This message was automatically generated.  | 
    
| 
           Thanks for the review @virajjasani  | 
    
…it regions following a master failover (#3775) A regression was introduced by HBASE-25847 which changed regionInfo#isParentSplit to regionState#isSplit. The region state after restart is CLOSED instead of SPLIT. We need to check both regionState and regionInfo for split status. Signed-off-by: Viraj Jasani <[email protected]>
…it regions following a master failover (#3775) A regression was introduced by HBASE-25847 which changed regionInfo#isParentSplit to regionState#isSplit. The region state after restart is CLOSED instead of SPLIT. We need to check both regionState and regionInfo for split status. Signed-off-by: Viraj Jasani <[email protected]>
| 
           Sorry I missed your comment @saintstack . 
 I do not remember. Given the related changes, without that additional change the new log lines were contrary to expectation. It looked like a bug, per my comments on the issue.  | 
    
| 
           @saintstack I am going to release a 2.4.8 with this merged PR included. You'd like instead to see some additional work done here or a revert of the original change rather than this addition, just say.  | 
    
| 
           Thanks for the PR @apurtell . I think this change will do away with the confusing split parent reporting as inconsistent (after a Master restart). That'll help. Can work on the bigger issue of new Master not faithfully reproducing old Master's in-memory state in another PR/JIRA. Thanks (I kicked Benoit and Boris for comment...)  | 
    
…it regions following a master failover (apache#3775) A regression was introduced by HBASE-25847 which changed regionInfo#isParentSplit to regionState#isSplit. The region state after restart is CLOSED instead of SPLIT. We need to check both regionState and regionInfo for split status. Signed-off-by: Viraj Jasani <[email protected]> Ref: CDPD-30762 Author: Andrew Purtell Reason: Bug (cherry picked from commit 4149459) Change-Id: I3ce08ce629bfb4b263ebb37efcef2a7de06ed64d
A regression was introduced by HBASE-25847 which changed regionInfo#isParentSplit to regionState#isSplit. The region state after restart is CLOSED instead of SPLIT. We need to check both regionState and regionInfo for split status.