accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Busbey" <s...@manvsbeard.com>
Subject Re: Review Request 19804: ACCUMULO-2519 Aborts upgrade if there are Fate transactions from an old version.
Date Wed, 02 Apr 2014 07:29:34 GMT


> On April 2, 2014, 7:07 a.m., Mike Drob wrote:
> > server/src/main/java/org/apache/accumulo/server/master/Master.java, line 321
> > <https://reviews.apache.org/r/19804/diff/2/?file=544967#file544967line321>
> >
> >     If there is risk that multiple threads will enter this block, then the second
thread will trigger the countdown latch in the else. If there is not (which I don't think
there is, because this only gets called from inside of a synchronized method) then why do
we perform this check?

It gets called from the Status thread, and we might transition into the state multiple times.
the atomic boolean ensures we only ever enter the block once, regardless of how we go there.

That means the countdown latch is only triggered on the else of the "is an upgrade needed"
not of the atomic boolean.


> On April 2, 2014, 7:07 a.m., Mike Drob wrote:
> > server/src/main/java/org/apache/accumulo/server/master/Master.java, line 352
> > <https://reviews.apache.org/r/19804/diff/2/?file=544967#file544967line352>
> >
> >     Instead of adding a countdown latch, could we have not just waited for this
thread to complete? That seems more straightforward.

No, because the thread never exists if we don't need to do an upgrade.


- Sean


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19804/#review39241
-----------------------------------------------------------


On April 2, 2014, 6:06 a.m., Sean Busbey wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19804/
> -----------------------------------------------------------
> 
> (Updated April 2, 2014, 6:06 a.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

>   server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java 7328a55 
> 
> Diff: https://reviews.apache.org/r/19804/diff/
> 
> 
> Testing
> -------
> 
> Took a 1.4.5-SNAP cluster
> 
> * loaded test data in a variety of table configs
> * alternate table creation and deletion
> * load additional table to cause !METADATA churn
> * shutdown cluster uncleanly
> * verified waiting Fate transactions (table deletion at success status)
> * verified waiting local WALs
> * verified waiting local WALs include !METADATA table (via LogReader)
> * 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 same waiting Fate transactions
> * verified same waiting local WALs
> * verified /accumulo/version showed 4
> * Cleared Fate operations
> * Start upgrade to 1.5.2-SNAP
> * wait a terrifying long amount of time, check on progress via local logs
> * verify no errors shown for upgrade
> * verified WALs copied to HDFS
> * verified /accumulo/version showed 5
> * verified monitor showed normal start up
> * wait for all tablets to be hosted
> * verify test data
> 
> 
> Thanks,
> 
> Sean Busbey
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message