Matteo Bertozzi created HBASE-13995:
---------------------------------------
Summary: 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: 1.1.0.1, 1.0.1.1, 0.98.12.1, 2.0.0, 1.2.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Fix For: 2.0.0, 0.98.14, 1.0.2, 1.2.0, 1.1.1
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)