Description
ServerName calss,the getServerName(String hostName, int port, long startcode),equals and compareTo are case insensitive, but getHostname() is case sensitive.
if hostName is HOSTNAME1, ServerName is hostname1,11111,1589615319931, and getHostname() returns HOSTNAME1.
and then BaseLoadBalancer#retainAssignment() uses ServerName#getHostname(), all keys of serversByHostname are upperCase(HOSTNAME1,HOSTNAME2,HOSTNAME3,HOSTNAME4...) from ServerManager#createDestinationServersList, but oldServerName.getHostname() is lowerCase(hostname1,hostname2,hostname3...) from walLog dir.
and finally...all region of old ServerName will be assigned to random hosts
Attachments
Attachments
Issue Links
- Blocked
-
HBASE-13995 ServerName is not fully case insensitive
- Closed
- links to