From: <tho...@us...> - 2013-10-11 15:49:17
|
Revision: 7452 http://bigdata.svn.sourceforge.net/bigdata/?rev=7452&view=rev Author: thompsonbry Date: 2013-10-11 15:49:09 +0000 (Fri, 11 Oct 2013) Log Message: ----------- Rolling back the change to AbstractQuorum.getClient() and getMember(). This is aggrevating a problem where concurrent actions on the quorum can cause an awaited Condition to not become satisfied. See #718 (HAJournalServer needs to handle ZK client connection loss) Modified Paths: -------------- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/AbstractQuorum.java branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/AbstractQuorum.java =================================================================== --- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/AbstractQuorum.java 2013-10-11 15:21:41 UTC (rev 7451) +++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/AbstractQuorum.java 2013-10-11 15:49:09 UTC (rev 7452) @@ -733,21 +733,21 @@ @Override public C getClient() { -// lock.lock(); -// try { + lock.lock(); + try { final C client = this.client; if (client == null) throw new IllegalStateException(); return client; -// } finally { -// lock.unlock(); -// } + } finally { + lock.unlock(); + } } @Override public QuorumMember<S> getMember() { -// lock.lock(); -// try { + lock.lock(); + try { final C client = this.client; if (client == null) throw new IllegalStateException(); @@ -755,9 +755,9 @@ return (QuorumMember<S>) client; } throw new UnsupportedOperationException(); -// } finally { -// lock.unlock(); -// } + } finally { + lock.unlock(); + } } /** Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java =================================================================== --- branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java 2013-10-11 15:21:41 UTC (rev 7451) +++ branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java 2013-10-11 15:49:09 UTC (rev 7452) @@ -93,6 +93,7 @@ import com.bigdata.journal.IRootBlockView; import com.bigdata.journal.RootBlockUtility; import com.bigdata.journal.WORMStrategy; +import com.bigdata.quorum.AbstractQuorum; import com.bigdata.quorum.Quorum; import com.bigdata.quorum.QuorumEvent; import com.bigdata.quorum.QuorumException; @@ -1859,7 +1860,7 @@ while (true) { log.warn("Will do error handler."); - +// ((AbstractQuorum<HAGlue, QuorumService<HAGlue>>) getQuorum()).interruptAll(); /* * Discard the current write set. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |