Return-Path: X-Original-To: apmail-accumulo-dev-archive@www.apache.org Delivered-To: apmail-accumulo-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3B768101B7 for ; Mon, 31 Mar 2014 21:51:10 +0000 (UTC) Received: (qmail 31764 invoked by uid 500); 31 Mar 2014 21:51:03 -0000 Delivered-To: apmail-accumulo-dev-archive@accumulo.apache.org Received: (qmail 31494 invoked by uid 500); 31 Mar 2014 21:51:00 -0000 Mailing-List: contact dev-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 dev@accumulo.apache.org Received: (qmail 31484 invoked by uid 99); 31 Mar 2014 21:50:59 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 Mar 2014 21:50:59 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id 16FC71C641E; Mon, 31 Mar 2014 21:50:51 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============2014759016264184063==" MIME-Version: 1.0 Subject: Re: Review Request 19804: ACCUMULO-2519 Aborts upgrade if there are Fate transactions from an old version. From: "Sean Busbey" To: keith@deenlo.com Cc: "accumulo" , "Sean Busbey" Date: Mon, 31 Mar 2014 21:50:50 -0000 Message-ID: <20140331215050.15075.2655@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org Auto-Submitted: auto-generated Sender: "Sean Busbey" X-ReviewGroup: accumulo X-ReviewRequest-URL: https://reviews.apache.org/r/19804/ X-Sender: "Sean Busbey" References: <20140329002659.7126.66969@reviews.apache.org> In-Reply-To: <20140329002659.7126.66969@reviews.apache.org> Reply-To: "Sean Busbey" X-ReviewRequest-Repository: accumulo --===============2014759016264184063== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit > On March 29, 2014, 12:26 a.m., kturner wrote: > > server/src/main/java/org/apache/accumulo/server/master/Master.java, line 313 > > > > > > I think this check can cause problems. Master.run() starts StatusThread, StatusThread.run() will indirectly call upgradeMetadata(). After Master.run() starts StatusThread, it seems like it will start Fate and the client service. So its possible that a 1.5 client could submit a fate op before the upgradeMetadata() is called. > > > > Also, this check is probably not needed. upgradeZookeeper() should be called before upgradeMetadata(). Could add a sanity check for this. > > > > Sean Busbey wrote: > I *think* that it's fine, because I think the client service doesn't start until state goes to NORMAL. So while Fate has been started, nothing yet has access to use it. I could clarify things by not starting Fate until the upgradeMetadata happens (or we determine it isn't needed). > > It'd probably be simpler to add a sanity check for making sure upgradeZooKeeper happened first though. > > kturner wrote: > Whats preventing the client service from starting until the state is NORMAL? Looking at the code Master.run() starts it after starting the StatusThread. you're correct. I'm testing a new version now that holds fate until after the upgrade is complete. - Sean ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/19804/#review38972 ----------------------------------------------------------- On March 28, 2014, 9:22 p.m., Sean Busbey wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/19804/ > ----------------------------------------------------------- > > (Updated March 28, 2014, 9:22 p.m.) > > > Review request for accumulo and kturner. > > > Bugs: ACCUMULO-2519 > https://issues.apache.org/jira/browse/ACCUMULO-2519 > > > Repository: accumulo > > > Description > ------- > > Adds "make sure Fate has no outstanding items" to the upgrade instructions. Makes sure the master and tabletservers don't take upgrade steps if they see fate ops waiting. > > > Diffs > ----- > > README 115a9b7 > server/src/main/java/org/apache/accumulo/server/Accumulo.java 99ec7e4 > server/src/main/java/org/apache/accumulo/server/master/Master.java 8c4c864 > server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java d76946d > > Diff: https://reviews.apache.org/r/19804/diff/ > > > Testing > ------- > > Took a 1.4.5-SNAP cluster > > * triggered compactions > * shutdown cluster > * verified waiting transactions > * verified waiting local WALs > * verified /accumulo/version showed 4 > * Start upgrade to 1.5.2-SNAP > * verified errors showing no upgrade and to go back to docs in: monitor, master logs, tabletserver logs > * verified waiting transactions > * verified waiting local WALs > * verified /accumulo/version showed 4 > * Cleared Fate operations > * Start upgrade to 1.5.2-SNAP > * verify no errors shown for upgrade > * verified WALs copied to HDFS > * verified /accumulo/version showed 5 > * verified monitor showed normal start up > > Running verify job on existing data now. should take ~6 hours. > > > Thanks, > > Sean Busbey > > --===============2014759016264184063==--