Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8250D18B54 for ; Tue, 30 Jun 2015 16:14:05 +0000 (UTC) Received: (qmail 11260 invoked by uid 500); 30 Jun 2015 16:14:05 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 11209 invoked by uid 500); 30 Jun 2015 16:14:05 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 11138 invoked by uid 99); 30 Jun 2015 16:14:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Jun 2015 16:14:05 +0000 Date: Tue, 30 Jun 2015 16:14:05 +0000 (UTC) From: "Matteo Bertozzi (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-13995) ServerName is not fully case insensitive MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-13995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Matteo Bertozzi updated HBASE-13995: ------------------------------------ Attachment: HBASE-13995-v0.patch > 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, 0.98.14, 1.0.2, 1.2.0, 1.1.1 > > 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)