[
https://issues.apache.org/jira/browse/HBASE-13995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Liu Shaohui updated HBASE-13995:
--------------------------------
Fix Version/s: (was: 1.0.2)
(was: 0.98.14)
> ServerName is not fully case insensitive
> ----------------------------------------
>
> Key: HBASE-13995
> URL: https://issues.apache.org/jira/browse/HBASE-13995
> Project: HBase
> Issue Type: Bug
> Components: Region Assignment
> Affects Versions: 2.0.0, 1.2.0, 0.98.12.1, 1.0.1.1, 1.1.0.1
> Reporter: Matteo Bertozzi
> Assignee: Matteo Bertozzi
> Fix For: 2.0.0, 1.2.0, 1.1.2
>
> Attachments: HBASE-13995-v0.patch, HBASE-13995-v0.patch
>
>
> we ended up with two ServerName with different cases, AAA and aaa.
> Trying to create a table, every once in a while, we ended up with the region
> lost and not assigned.
> BaseLoadBalancer.roundRobinAssignment() goes through each server and create a
> map with what to assign to them.
> We had to server on the list AAA and aaa which are the same machine, the
> problem is that the round robin now is assigning an empty list to one of the
> two. so depending on the order we ended up with a region not assigned.
> ServerName equals() does the case insensitive comparison but the hashCode()
> is done on a case sensitive server name, so the Map in ServerManager will
> never hit the item and compare it using equals, so we end up with two entries
> that are the same server. similar thing for
> ServerName.isSameHostnameAndPort() where we don't check for cases
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)