You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Marc Spaggiari (JIRA)" <ji...@apache.org> on 2013/03/31 14:13:16 UTC
[jira] [Commented] (HBASE-6881) All regionservers are marked
offline even there is still one up
[ https://issues.apache.org/jira/browse/HBASE-6881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13618312#comment-13618312 ]
Jean-Marc Spaggiari commented on HBASE-6881:
--------------------------------------------
Sorry for beeing late on that:
{code}
RegionPlan newPlan = plan;
- if (!regionAlreadyInTransitionException) {
+ if (!regionAlreadyInTransitionException && !serverNotRunningYet) {
// Force a new plan and reassign. Will return null if no servers.
- newPlan = getRegionPlan(state, plan.getDestination(), true);
+ // The new plan could be the same as the existing plan since we don't
+ // exclude the server of the original plan, which should not be
+ // excluded since it could be the only server up now.
+ newPlan = getRegionPlan(state, true);
}
if (newPlan == null) {
{code}
If there is a possibility for newPlan to be null, than mean there is a possibility for plan to be null, and therefore for plan.getDestination() to fail with NPE? Or will plan never be null if regionAlreadyInTransitionException and serverNotRunningYet are false?
> All regionservers are marked offline even there is still one up
> ---------------------------------------------------------------
>
> Key: HBASE-6881
> URL: https://issues.apache.org/jira/browse/HBASE-6881
> Project: HBase
> Issue Type: Bug
> Reporter: Jimmy Xiang
> Assignee: Jimmy Xiang
> Fix For: 0.95.0
>
> Attachments: trunk-6881.patch, trunk-6881_v3.patch
>
>
> {noformat}
> + RegionPlan newPlan = plan;
> + if (!regionAlreadyInTransitionException) {
> + // Force a new plan and reassign. Will return null if no servers.
> + newPlan = getRegionPlan(state, plan.getDestination(), true);
> + }
> + if (newPlan == null) {
> this.timeoutMonitor.setAllRegionServersOffline(true);
> LOG.warn("Unable to find a viable location to assign region " +
> state.getRegion().getRegionNameAsString());
> {noformat}
> Here, when newPlan is null, plan.getDestination() could be up actually.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira