Return-Path: Delivered-To: apmail-hadoop-hbase-commits-archive@minotaur.apache.org Received: (qmail 17823 invoked from network); 7 Oct 2009 17:05:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 7 Oct 2009 17:05:52 -0000 Received: (qmail 38490 invoked by uid 500); 7 Oct 2009 17:05:52 -0000 Delivered-To: apmail-hadoop-hbase-commits-archive@hadoop.apache.org Received: (qmail 38469 invoked by uid 500); 7 Oct 2009 17:05:52 -0000 Mailing-List: contact hbase-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hbase-dev@hadoop.apache.org Delivered-To: mailing list hbase-commits@hadoop.apache.org Received: (qmail 38455 invoked by uid 99); 7 Oct 2009 17:05:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Oct 2009 17:05:52 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.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; Wed, 07 Oct 2009 17:05:42 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0771F23888D6; Wed, 7 Oct 2009 17:05:21 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r822804 - in /hadoop/hbase/trunk: ./ src/java/org/apache/hadoop/hbase/master/ src/java/org/apache/hadoop/hbase/regionserver/ Date: Wed, 07 Oct 2009 17:05:20 -0000 To: hbase-commits@hadoop.apache.org From: stack@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091007170521.0771F23888D6@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: stack Date: Wed Oct 7 17:05:20 2009 New Revision: 822804 URL: http://svn.apache.org/viewvc?rev=822804&view=rev Log: HBASE-1890 hbase-1506 where assignment is done at regionserver doesn't work Modified: hadoop/hbase/trunk/CHANGES.txt hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/RegionManager.java hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Modified: hadoop/hbase/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=822804&r1=822803&r2=822804&view=diff ============================================================================== --- hadoop/hbase/trunk/CHANGES.txt (original) +++ hadoop/hbase/trunk/CHANGES.txt Wed Oct 7 17:05:20 2009 @@ -60,6 +60,7 @@ hbase-1784) HBASE-1831 Scanning API must be reworked to allow for fully functional Filters client-side + HBASE-1890 hbase-1506 where assignment is done at regionserver doesn't work IMPROVEMENTS HBASE-1760 Cleanup TODOs in HTable Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/RegionManager.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/RegionManager.java?rev=822804&r1=822803&r2=822804&view=diff ============================================================================== --- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/RegionManager.java (original) +++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/RegionManager.java Wed Oct 7 17:05:20 2009 @@ -341,17 +341,8 @@ LOG.info("Assigning region " + regionName + " to " + sinfo.getServerName()); rs.setPendingOpen(sinfo.getServerName()); this.regionsInTransition.put(regionName, rs); - if (returnMsgs != null) { - returnMsgs.add(new HMsg(HMsg.Type.MSG_REGION_OPEN, rs.getRegionInfo())); - } - } - /** - * @param regionName - * @param sinfo - */ - void doRegionAssignment(final String regionName, final HServerInfo sinfo) { - doRegionAssignment(this.regionsInTransition.get(regionName), sinfo, null); + returnMsgs.add(new HMsg(HMsg.Type.MSG_REGION_OPEN, rs.getRegionInfo())); } /* Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java?rev=822804&r1=822803&r2=822804&view=diff ============================================================================== --- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java (original) +++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java Wed Oct 7 17:05:20 2009 @@ -454,8 +454,7 @@ break; case MSG_REPORT_SPLIT: - processSplitRegion(serverInfo, region, incomingMsgs[++i], - incomingMsgs[++i]); + processSplitRegion(region, incomingMsgs[++i], incomingMsgs[++i]); break; default: @@ -497,26 +496,18 @@ * @param splitB * @param returnMsgs */ - private void processSplitRegion(final HServerInfo si, final HRegionInfo region, - final HMsg splitA, final HMsg splitB) { + private void processSplitRegion(HRegionInfo region, HMsg splitA, HMsg splitB) { synchronized (master.regionManager) { // Cancel any actions pending for the affected region. // This prevents the master from sending a SPLIT message if the table // has already split by the region server. - this.master.regionManager.endActions(region.getRegionName()); - // Region A is now opened immediately on the splitting server. The message - // that its been successfully opened is probably just behind this split - // message. Set up the master state so that its properly primed for the - // coming open message. - HRegionInfo a = splitA.getRegionInfo(); - assignSplitDaughter(a); - this.master.regionManager.doRegionAssignment(a.getRegionNameAsString(), si); - // Region B will be assigned old-school style by the master. + master.regionManager.endActions(region.getRegionName()); + assignSplitDaughter(splitA.getRegionInfo()); assignSplitDaughter(splitB.getRegionInfo()); if (region.isMetaTable()) { // A meta region has split. - this.master.regionManager.offlineMetaRegion(region.getStartKey()); - this.master.regionManager.incrementNumMetaRegions(); + master.regionManager.offlineMetaRegion(region.getStartKey()); + master.regionManager.incrementNumMetaRegions(); } } } @@ -587,7 +578,7 @@ if (duplicateAssignment) { if (LOG.isDebugEnabled()) { LOG.debug("region server " + serverInfo.getServerAddress().toString() - + " should not have opened region " + Bytes.toString(region.getRegionName())); + + " should not have opened region " + Bytes.toString(region.getRegionName())); } // This Region should not have been opened. Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java?rev=822804&r1=822803&r2=822804&view=diff ============================================================================== --- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java (original) +++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java Wed Oct 7 17:05:20 2009 @@ -219,8 +219,8 @@ newRegions[i].getRegionInfo())); t.put(put); } - // Now tell the master about the new regions. Note that we'll online - // the A region ourselves on this server. Master only has to online B. + + // Now tell the master about the new regions server.reportSplit(oldRegionInfo, newRegions[0].getRegionInfo(), newRegions[1].getRegionInfo()); LOG.info("region split, META updated, and report to master all" + @@ -228,15 +228,8 @@ ", new regions: " + newRegions[0].toString() + ", " + newRegions[1].toString() + ". Split took " + StringUtils.formatTimeDiff(System.currentTimeMillis(), startTime)); - // Server region A. Let master assign region B. - HRegionInfo hri = newRegions[0].getRegionInfo(); - HMsg msg = new HMsg(HMsg.Type.MSG_REGION_OPEN, hri, - Bytes.toBytes("Local immediate open")); - try { - this.server.toDo.put(new HRegionServer.ToDoEntry(msg)); - } catch (InterruptedException e) { - throw new IOException("Failed queue of open of " + hri, e); - } + + // Do not serve the new regions. Let the Master assign them. } /** Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=822804&r1=822803&r2=822804&view=diff ============================================================================== --- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original) +++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Wed Oct 7 17:05:20 2009 @@ -1396,7 +1396,7 @@ /* * Data structure to hold a HMsg and retries count. */ - static final class ToDoEntry { + private static final class ToDoEntry { protected final AtomicInteger tries = new AtomicInteger(0); protected final HMsg msg;