hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10273) AssignmentManager.regions(region to regionserver assignment map) and AssignmentManager.servers(regionserver to regions assignment map) are not always updated in tandem with each other
Date Fri, 03 Jan 2014 22:57:51 GMT

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

Lars Hofhansl commented on HBASE-10273:
---------------------------------------

Do we need the warning here:
{code}
+              if (sn == null) {
+                LOG.warn("No region server for " + region);
{code}

Could serverRegions be null?
{code}
+                Set<HRegionInfo> serverRegions = this.servers.get(sn);
+                if (!serverRegions.remove(region)) {
+                  LOG.warn("No " + region + " on " + sn);
{code}

I guess, I'd prefer:
{code}
-              this.regions.remove(region);
+              ServerName sn = this.regions.remove(region);
+              if (sn != null) {
+                Set<HRegionInfo> serverRegions = this.servers.get(sn);
+                if (serverRegions == null || !serverRegions.remove(region)) {
+                  LOG.warn("No " + region + " on " + sn);
+                }
+              }
{code}


> AssignmentManager.regions(region to regionserver assignment map) and AssignmentManager.servers(regionserver
to regions assignment map) are not always updated in tandem with each other
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-10273
>                 URL: https://issues.apache.org/jira/browse/HBASE-10273
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.94.16
>            Reporter: Feng Honghua
>            Assignee: Feng Honghua
>             Fix For: 0.94.16
>
>         Attachments: HBASE-10273-0.94_v0.patch
>
>
> By definition, AssignmentManager.servers and AssignmentManager.regions are tied and should
be updated in tandem with each other under a lock on AssignmentManager.regions, but there
are two places where this protocol is broken.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message