Return-Path: X-Original-To: apmail-hbase-commits-archive@www.apache.org Delivered-To: apmail-hbase-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 24B8DD9F1 for ; Sat, 18 Aug 2012 23:35:05 +0000 (UTC) Received: (qmail 94386 invoked by uid 500); 18 Aug 2012 23:35:05 -0000 Delivered-To: apmail-hbase-commits-archive@hbase.apache.org Received: (qmail 94340 invoked by uid 500); 18 Aug 2012 23:35:05 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 94332 invoked by uid 99); 18 Aug 2012 23:35:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 18 Aug 2012 23:35:05 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 18 Aug 2012 23:35:02 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 832C0238890D for ; Sat, 18 Aug 2012 23:34:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1374676 - in /hbase/trunk/hbase-server/src: main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java Date: Sat, 18 Aug 2012 23:34:18 -0000 To: commits@hbase.apache.org From: tedyu@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120818233418.832C0238890D@eris.apache.org> Author: tedyu Date: Sat Aug 18 23:34:17 2012 New Revision: 1374676 URL: http://svn.apache.org/viewvc?rev=1374676&view=rev Log: HBASE-6608 Fix for HBASE-6160, META entries from daughters can be deleted before parent entries, shouldn't compare HRegionInfo's (Enis) Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java?rev=1374676&r1=1374675&r2=1374676&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java (original) +++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java Sat Aug 18 23:34:17 2012 @@ -153,14 +153,18 @@ class CatalogJanitor extends Chore { // Now work on our list of found parents. See if any we can clean up. int cleaned = 0; - HashSet parentNotCleaned = new HashSet(); //regions whose parents are still around + //regions whose parents are still around + HashSet parentNotCleaned = new HashSet(); for (Map.Entry e : splitParents.entrySet()) { - if (!parentNotCleaned.contains(e.getKey()) && cleanParent(e.getKey(), e.getValue())) { + if (!parentNotCleaned.contains(e.getKey().getEncodedName()) && + cleanParent(e.getKey(), e.getValue())) { cleaned++; } else { - // We could not clean the parent, so it's daughters should not be cleaned either (HBASE-6160) - parentNotCleaned.add(getDaughterRegionInfo(e.getValue(), HConstants.SPLITA_QUALIFIER)); - parentNotCleaned.add(getDaughterRegionInfo(e.getValue(), HConstants.SPLITB_QUALIFIER)); + // We could not clean the parent, so its daughters should not be cleaned either(HBASE-6160) + parentNotCleaned.add( + getDaughterRegionInfo(e.getValue(), HConstants.SPLITA_QUALIFIER).getEncodedName()); + parentNotCleaned.add( + getDaughterRegionInfo(e.getValue(), HConstants.SPLITB_QUALIFIER).getEncodedName()); } } if (cleaned != 0) { Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java?rev=1374676&r1=1374675&r2=1374676&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java (original) +++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java Sat Aug 18 23:34:17 2012 @@ -542,6 +542,7 @@ public class TestCatalogJanitor { final Map splitParents = new TreeMap(new SplitParentFirstComparator()); splitParents.put(parent, makeResultFromHRegionInfo(parent, splita, splitb)); + splita.setOffline(true); //simulate that splita goes offline when it is split splitParents.put(splita, makeResultFromHRegionInfo(splita, splitaa, splitab)); CatalogJanitor janitor = spy(new CatalogJanitor(server, services));