Return-Path: X-Original-To: apmail-accumulo-commits-archive@www.apache.org Delivered-To: apmail-accumulo-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 BDC7CFFC2 for ; Tue, 2 Apr 2013 20:33:21 +0000 (UTC) Received: (qmail 94424 invoked by uid 500); 2 Apr 2013 20:33:21 -0000 Delivered-To: apmail-accumulo-commits-archive@accumulo.apache.org Received: (qmail 94402 invoked by uid 500); 2 Apr 2013 20:33:21 -0000 Mailing-List: contact commits-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list commits@accumulo.apache.org Received: (qmail 94395 invoked by uid 99); 2 Apr 2013 20:33:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Apr 2013 20:33:21 +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; Tue, 02 Apr 2013 20:33:18 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 7645523888CD; Tue, 2 Apr 2013 20:32:57 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1463744 - in /accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server: master/state/IllegalDSException.java master/state/ZooTabletStateStore.java tabletserver/log/SortedLogRecovery.java Date: Tue, 02 Apr 2013 20:32:57 -0000 To: commits@accumulo.apache.org From: ecn@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130402203257.7645523888CD@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: ecn Date: Tue Apr 2 20:32:57 2013 New Revision: 1463744 URL: http://svn.apache.org/r1463744 Log: ACCUMULO-1113 add some additional state checking when loading the root tablet Added: accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/IllegalDSException.java (with props) Modified: accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/ZooTabletStateStore.java accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/tabletserver/log/SortedLogRecovery.java Added: accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/IllegalDSException.java URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/IllegalDSException.java?rev=1463744&view=auto ============================================================================== --- accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/IllegalDSException.java (added) +++ accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/IllegalDSException.java Tue Apr 2 20:32:57 2013 @@ -0,0 +1,13 @@ +package org.apache.accumulo.server.master.state; + +import org.apache.accumulo.server.master.state.DistributedStoreException; + +public class IllegalDSException extends DistributedStoreException { + + public IllegalDSException(String why) { + super(why); + } + + private static final long serialVersionUID = 1L; + +} Propchange: accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/IllegalDSException.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/ZooTabletStateStore.java URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/ZooTabletStateStore.java?rev=1463744&r1=1463743&r2=1463744&view=diff ============================================================================== --- accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/ZooTabletStateStore.java (original) +++ accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/master/state/ZooTabletStateStore.java Tue Apr 2 20:32:57 2013 @@ -123,6 +123,11 @@ public class ZooTabletStateStore extends if (assignment.tablet.compareTo(Constants.ROOT_TABLET_EXTENT) != 0) throw new IllegalArgumentException("You can only store the root tablet location"); String value = AddressUtil.toString(assignment.server.getLocation()) + "|" + assignment.server.getSession(); + Iterator currentIter = iterator(); + TabletLocationState current = currentIter.next(); + if (current.current != null) { + throw new IllegalDSException("Trying to set the root tablet location: it is already set to " + current.current); + } store.put(Constants.ZROOT_TABLET_FUTURE_LOCATION, value.getBytes()); } @@ -134,8 +139,17 @@ public class ZooTabletStateStore extends if (assignment.tablet.compareTo(Constants.ROOT_TABLET_EXTENT) != 0) throw new IllegalArgumentException("You can only store the root tablet location"); String value = AddressUtil.toString(assignment.server.getLocation()) + "|" + assignment.server.getSession(); + Iterator currentIter = iterator(); + TabletLocationState current = currentIter.next(); + if (current.current != null) { + throw new IllegalDSException("Trying to set the root tablet location: it is already set to " + current.current); + } + if (!current.future.equals(assignment.server)) { + throw new IllegalDSException("Root tablet is already assigned to " + current.future); + } store.put(Constants.ZROOT_TABLET_LOCATION, value.getBytes()); store.put(Constants.ZROOT_TABLET_LAST_LOCATION, value.getBytes()); + // Make the following unnecessary by making the entire update atomic store.remove(Constants.ZROOT_TABLET_FUTURE_LOCATION); log.debug("Put down root tablet location"); } Modified: accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/tabletserver/log/SortedLogRecovery.java URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/tabletserver/log/SortedLogRecovery.java?rev=1463744&r1=1463743&r2=1463744&view=diff ============================================================================== --- accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/tabletserver/log/SortedLogRecovery.java (original) +++ accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/tabletserver/log/SortedLogRecovery.java Tue Apr 2 20:32:57 2013 @@ -133,7 +133,7 @@ public class SortedLogRecovery { log.warn("Ignoring error closing file"); } } - log.info("Recovery complete for " + logfile); + log.info("Recovery complete for " + extent + " using " + logfile); } }