You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2008/06/24 08:43:46 UTC
[jira] Commented: (HBASE-543) A region's state is kept in several
places in the master opening the possibility for race conditions
[ https://issues.apache.org/jira/browse/HBASE-543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607494#action_12607494 ]
stack commented on HBASE-543:
-----------------------------
Here's some state changes that currently look unsafe:
+ On open, the move from unassigned to pending is done non-transactionally: ServerManager line 438
+ In checkAssigned in BaseScanner, around line 350, we remove entry from unassignedRegions and from pendingRegions non-transactionally.
Looking to see if can squash together unassigned and pending.
> A region's state is kept in several places in the master opening the possibility for race conditions
> ----------------------------------------------------------------------------------------------------
>
> Key: HBASE-543
> URL: https://issues.apache.org/jira/browse/HBASE-543
> Project: Hadoop HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 0.1.0, 0.1.1, 0.2.0
> Reporter: Jim Kellerman
> Assignee: stack
> Priority: Critical
> Fix For: 0.2.0
>
>
> A region's state exists in multiple maps in the RegionManager: unassignedRegions, pendingRegions, regionsToClose, closingRegions, regionsToDelete, etc.
> One of these race conditions was found in HBASE-534.
> For HBase-0.1.x, we should just patch the holes we find.
> The ultimate solution (which requires a lot of changes in HMaster) should be applied to HBase trunk.
> Proposed solution:
> Create a class that encapsulates a region's state and provide synchronized access to the class that validates state changes.
> There should be a single structure that holds regions in these transitional states and it should be a synchronized collection of some kind.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.