|
From: <tho...@us...> - 2013-10-25 21:18:59
|
Revision: 7485
http://bigdata.svn.sourceforge.net/bigdata/?rev=7485&view=rev
Author: thompsonbry
Date: 2013-10-25 21:18:46 +0000 (Fri, 25 Oct 2013)
Log Message:
-----------
Resolution for #718 (ZK disconnect)
Merged back to the main development branch (revisions from r7464 to r7484 were merged back).
{{{
merge -r7464:HEAD https://bigdata.svn.sourceforge.net/svnroot/bigdata/branches/ZK_DISCONNECT_HANDLING /Users/bryan/Documents/workspace/BIGDATA_RELEASE_1_3_0_CLEAN
...
C /Users/bryan/Documents/workspace/BIGDATA_RELEASE_1_3_0_CLEAN/bigdata-jini/src/test/com/bigdata/zookeeper/TestAll.java
C /Users/bryan/Documents/workspace/BIGDATA_RELEASE_1_3_0_CLEAN/bigdata-jini/src/java/com/bigdata/zookeeper/ZooKeeperAccessor.java
C /Users/bryan/Documents/workspace/BIGDATA_RELEASE_1_3_0_CLEAN/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAClient.java
C /Users/bryan/Documents/workspace/BIGDATA_RELEASE_1_3_0_CLEAN/bigdata-jini/src/java/com/bigdata/journal/jini/ha/AbstractServer.java
C /Users/bryan/Documents/workspace/BIGDATA_RELEASE_1_3_0_CLEAN/bigdata/src/test/com/bigdata/quorum/MockQuorumFixture.java
...
===== File Statistics: =====
Added: 4
Updated: 41
==== Conflict Statistics: =====
File conflicts: 5
}}}
The conflicts are all the files that I had locally modified when I created the ZK_DISCONNECT_HANDLING branch. In each case, I accepted the changes from the ZK_DISCONNECT_HANDLING branch.
The HA CI test suite runs green locally (except for the 3 known failures related to #760).
Revision Links:
--------------
http://bigdata.svn.sourceforge.net/bigdata/?rev=7464&view=rev
http://bigdata.svn.sourceforge.net/bigdata/?rev=7484&view=rev
http://bigdata.svn.sourceforge.net/bigdata/?rev=7464&view=rev
Modified Paths:
--------------
branches/BIGDATA_RELEASE_1_3_0/.classpath
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/counters/AbstractProcessCollector.java
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/journal/AbstractJournal.java
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/QuorumClient.java
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/resources/logging/log4j-dev.properties
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/MockQuorumFixture.java
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestAll.java
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestSingletonQuorumSemantics.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/jini/start/ManageLogicalServiceTask.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/AbstractServer.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/DumpLogDigests.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAClient.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-A.config
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-B.config
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal-C.config
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/quorum/zk/ZKQuorumImpl.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/service/jini/lookup/ServiceCache.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/zookeeper/ZooKeeperAccessor.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-A.config
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-B.config
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-C.config
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestAll.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA2JournalServer.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3DumpLogs.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3JournalServer.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3JournalServerWithHALogs.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHAJournalServerOverride.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/dumpFile.config
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/journal/jini/ha/zkClient.config
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/quorum/zk/AbstractZkQuorumTestCase.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/quorum/zk/MockQuorumMember.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/quorum/zk/TestAll.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/quorum/zk/TestZkQuorum.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/quorum/zk/TestZkSingletonQuorumSemantics.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/zookeeper/AbstractZooTestCase.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/zookeeper/TestAll.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/zookeeper/TestZLockImpl.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/java/com/bigdata/rdf/sail/CreateKBTask.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataServlet.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java
branches/BIGDATA_RELEASE_1_3_0/src/resources/HAJournal/HAJournal.config
Added Paths:
-----------
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/lib/apache/zookeeper-3.3.3.jar
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/quorum/zk/ZKQuorumClient.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/quorum/zk/TestSplitZPath.java
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/test/com/bigdata/zookeeper/TestZookeeperSessionSemantics.java
Property Changed:
----------------
branches/BIGDATA_RELEASE_1_3_0/
branches/BIGDATA_RELEASE_1_3_0/bigdata/lib/jetty/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/bop/aggregate/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/bop/joinGraph/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/bop/util/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/htree/raba/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/jsr166/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/bop/joinGraph/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/bop/util/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/jsr166/
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/util/httpd/
branches/BIGDATA_RELEASE_1_3_0/bigdata-compatibility/
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/attr/
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/disco/
branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/util/config/
branches/BIGDATA_RELEASE_1_3_0/bigdata-perf/
branches/BIGDATA_RELEASE_1_3_0/bigdata-perf/btc/
branches/BIGDATA_RELEASE_1_3_0/bigdata-perf/btc/src/resources/
branches/BIGDATA_RELEASE_1_3_0/bigdata-perf/lubm/
branches/BIGDATA_RELEASE_1_3_0/bigdata-perf/uniprot/
branches/BIGDATA_RELEASE_1_3_0/bigdata-perf/uniprot/src/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/bop/rdf/aggregate/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/changesets/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/error/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/internal/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/relation/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/util/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/samples/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/test/com/bigdata/bop/rdf/aggregate/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/test/com/bigdata/rdf/internal/
branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/test/com/bigdata/rdf/relation/
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/java/com/bigdata/rdf/sail/bench/
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/java/com/bigdata/rdf/sail/changesets/
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/test/com/bigdata/rdf/sail/bench/
branches/BIGDATA_RELEASE_1_3_0/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/LEGAL/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/lib/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/src/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/src/java/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/src/java/it/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/src/java/it/unimi/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/src/test/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/src/test/it/unimi/
branches/BIGDATA_RELEASE_1_3_0/dsi-utils/src/test/it/unimi/dsi/
branches/BIGDATA_RELEASE_1_3_0/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom/
branches/BIGDATA_RELEASE_1_3_0/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom/
branches/BIGDATA_RELEASE_1_3_0/osgi/
branches/BIGDATA_RELEASE_1_3_0/src/resources/bin/config/
Property changes on: branches/BIGDATA_RELEASE_1_3_0
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE:6769-6785
/branches/BIGDATA_RELEASE_1_2_0:6766-7380
/branches/BTREE_BUFFER_BRANCH:2004-2045
/branches/DEV_BRANCH_27_OCT_2009:2270-2546,2548-2782
/branches/INT64_BRANCH:4486-4522
/branches/JOURNAL_HA_BRANCH:2596-4066
/branches/LARGE_LITERALS_REFACTOR:4175-4387
/branches/LEXICON_REFACTOR_BRANCH:2633-3304
/branches/QUADS_QUERY_BRANCH:4525-4531,4550-4584,4586-4609,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE:7215-7271
/branches/RWSTORE_1_1_0_DEBUG:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH:4814-4836
/branches/bugfix-btm:2594-3237
/branches/dev-btm:2574-2730
/branches/fko:3150-3194
/trunk:3392-3437,3656-4061
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE:6769-6785
/branches/BIGDATA_RELEASE_1_2_0:6766-7380
/branches/BTREE_BUFFER_BRANCH:2004-2045
/branches/DEV_BRANCH_27_OCT_2009:2270-2546,2548-2782
/branches/INT64_BRANCH:4486-4522
/branches/JOURNAL_HA_BRANCH:2596-4066
/branches/LARGE_LITERALS_REFACTOR:4175-4387
/branches/LEXICON_REFACTOR_BRANCH:2633-3304
/branches/QUADS_QUERY_BRANCH:4525-4531,4550-4584,4586-4609,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE:7215-7271
/branches/RWSTORE_1_1_0_DEBUG:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH:4814-4836
/branches/ZK_DISCONNECT_HANDLING:7465-7484
/branches/bugfix-btm:2594-3237
/branches/dev-btm:2574-2730
/branches/fko:3150-3194
/trunk:3392-3437,3656-4061
Modified: branches/BIGDATA_RELEASE_1_3_0/.classpath
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/.classpath 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/.classpath 2013-10-25 21:18:46 UTC (rev 7485)
@@ -33,7 +33,7 @@
<classpathentry kind="src" path="bigdata-gas/src/test"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/dsi-utils-1.0.6-020610.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/lgpl-utils-1.0.6-020610.jar"/>
- <classpathentry kind="lib" path="bigdata-jini/lib/apache/zookeeper-3.4.5.jar"/>
+ <classpathentry kind="lib" path="bigdata-jini/lib/apache/zookeeper-3.3.3.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-continuation-7.2.2.v20101205.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-http-7.2.2.v20101205.jar"/>
<classpathentry exported="true" kind="lib" path="bigdata/lib/jetty/jetty-io-7.2.2.v20101205.jar"/>
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/lib/jetty
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/lib/jetty:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/lib/jetty:6766-7380
/branches/INT64_BRANCH/bigdata/lib/jetty:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/lib/jetty:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/lib/jetty:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/lib/jetty:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/lib/jetty:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/lib/jetty:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/lib/jetty:6766-7380
/branches/INT64_BRANCH/bigdata/lib/jetty:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/lib/jetty:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/lib/jetty:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/lib/jetty:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/lib/jetty:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/lib/jetty:7465-7484
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/bop/aggregate
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/bop/aggregate:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/bop/aggregate:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/bop/aggregate:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/aggregate:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/aggregate:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/bop/aggregate:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/bop/aggregate:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/bop/aggregate:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/bop/aggregate:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/bop/aggregate:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/aggregate:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/aggregate:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/bop/aggregate:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/bop/aggregate:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/java/com/bigdata/bop/aggregate:7465-7484
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/bop/joinGraph
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/bop/joinGraph:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/bop/joinGraph:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/bop/joinGraph:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/joinGraph:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/joinGraph:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/bop/joinGraph:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/bop/joinGraph:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/bop/joinGraph:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/bop/joinGraph:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/bop/joinGraph:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/joinGraph:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/joinGraph:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/bop/joinGraph:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/bop/joinGraph:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/java/com/bigdata/bop/joinGraph:7465-7484
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/bop/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/bop/util:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/bop/util:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/bop/util:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/util:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/util:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/bop/util:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/bop/util:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/bop/util:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/bop/util:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/bop/util:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/util:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/util:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/bop/util:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/bop/util:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/java/com/bigdata/bop/util:7465-7484
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/counters/AbstractProcessCollector.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/counters/AbstractProcessCollector.java 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/counters/AbstractProcessCollector.java 2013-10-25 21:18:46 UTC (rev 7485)
@@ -77,10 +77,13 @@
}
/**
+ * {@inheritDoc}
+ * <p>
* Creates the {@link ActiveProcess} and the
- * {@link ActiveProcess#start(com.bigdata.counters.AbstractStatisticsCollector.AbstractProcessReader)}s
- * it passing in the value returned by the {@link #getProcessReader()}
+ * {@link ActiveProcess#start(AbstractProcessReader)}s it passing in the
+ * value returned by the {@link #getProcessReader()}
*/
+ @Override
public void start() {
log.info("");
@@ -91,6 +94,7 @@
}
+ @Override
public void stop() {
log.info("");
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/htree/raba
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/htree/raba:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/htree/raba:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/htree/raba:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/htree/raba:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/htree/raba:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/htree/raba:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/htree/raba:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/htree/raba:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/htree/raba:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/htree/raba:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/htree/raba:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/htree/raba:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/htree/raba:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/htree/raba:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/java/com/bigdata/htree/raba:7465-7484
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/journal/AbstractJournal.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/journal/AbstractJournal.java 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/journal/AbstractJournal.java 2013-10-25 21:18:46 UTC (rev 7485)
@@ -3293,7 +3293,7 @@
* The next offset at which user data would be written.
* Calculated, after commit!
*/
- nextOffset = _bufferStrategy.getNextOffset();
+ nextOffset = _bufferStrategy.getNextOffset();
final long blockSequence;
@@ -3468,9 +3468,16 @@
* the met quorum; and (b) voted YES in response to
* the PREPARE message.
*/
+ try {
+ quorumService.abort2Phase(commitToken);
+ } finally {
+ throw new RuntimeException(
+ "PREPARE rejected: nyes="
+ + resp.getYesCount()
+ + ", replicationFactor="
+ + resp.replicationFactor());
+ }
- quorumService.abort2Phase(commitToken);
-
}
} catch (Throwable e) {
@@ -5422,8 +5429,17 @@
if (quorum == null)
return;
- // This quorum member.
- final QuorumService<HAGlue> localService = quorum.getClient();
+ // The HAQuorumService (if running).
+ final QuorumService<HAGlue> localService;
+ {
+ QuorumService<HAGlue> t;
+ try {
+ t = quorum.getClient();
+ } catch (IllegalStateException ex) {
+ t = null;
+ }
+ localService = t;
+ }
// Figure out the state transitions involved.
final QuorumTokenTransitions transitionState = new QuorumTokenTransitions(
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/jsr166
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/jsr166:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/jsr166:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/jsr166:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/jsr166:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/jsr166:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/jsr166:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/jsr166:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/java/com/bigdata/jsr166:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/java/com/bigdata/jsr166:6766-7380
/branches/INT64_BRANCH/bigdata/src/java/com/bigdata/jsr166:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/jsr166:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/java/com/bigdata/jsr166:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/java/com/bigdata/jsr166:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/java/com/bigdata/jsr166:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/java/com/bigdata/jsr166:7465-7484
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-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/AbstractQuorum.java 2013-10-25 21:18:46 UTC (rev 7485)
@@ -31,6 +31,7 @@
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
@@ -48,7 +49,6 @@
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock;
@@ -301,7 +301,9 @@
* Note: This is volatile to allow visibility without holding the
* {@link #lock}. The field is only modified in {@link #start(QuorumClient)}
* and {@link #terminate()}, and those methods use the {@link #lock} to
- * impose an appropriate ordering over events.
+ * impose an appropriate ordering over events. The quorum is running iff
+ * there is a client for which it is delivering events. When <code>null</code>,
+ * the quorum is not running.
*
* @see #start(QuorumClient)
*/
@@ -582,71 +584,72 @@
*/
interruptAll();
if (client == null) {
- // No client is attached.
+ // No client? Not running.
return;
}
if (log.isDebugEnabled())
log.debug("client=" + client);
- if (client instanceof QuorumMember<?>) {
- /*
- * Update the distributed quorum state by removing our client
- * from the set of member services. This will also cause a
- * service leave, pipeline leave, and any vote to be withdrawn.
- *
- * We have observed Condition spins during terminate() that
- * result in HAJournalServer hangs. This runs another Thread
- * that will interrupt this Thread if the quorum member is
- * unable to complete the memberRemove() within a timeout.
- *
- * Note: Since we are holding the lock in the current thread, we
- * MUST execute memberRemove() in this thread (it requires the
- * lock). Therefore, I have used a 2nd thread that will
- * interrupt this thread if it does not succeed in a polite
- * removal from the quorum within a timeout.
- */
- {
- final long MEMBER_REMOVE_TIMEOUT = 5000;// ms.
- final AtomicBoolean didRemove = new AtomicBoolean(false);
- final Thread self = Thread.currentThread();
- final Thread t = new Thread() {
- public void run() {
- try {
- Thread.sleep(MEMBER_REMOVE_TIMEOUT);
- } catch (InterruptedException e) {
- // Expected. Ignored.
- return;
- }
- if (!didRemove.get()) {
- log.error("Timeout awaiting quorum member remove.");
- self.interrupt();
- }
- }
- };
- t.setDaemon(true);
- t.start();
- try {
- // Attempt memberRemove() (interruptably).
- actor.memberRemoveInterruptable();
- didRemove.set(true); // Success.
- } catch (InterruptedException e) {
- // Propagate the interrupt.
- Thread.currentThread().interrupt();
- } finally {
- t.interrupt(); // Stop execution of [t].
+// if (client instanceof QuorumMember<?>) {
+// /*
+// * Update the distributed quorum state by removing our client
+// * from the set of member services. This will also cause a
+// * service leave, pipeline leave, and any vote to be withdrawn.
+// *
+// * We have observed Condition spins during terminate() that
+// * result in HAJournalServer hangs. This runs another Thread
+// * that will interrupt this Thread if the quorum member is
+// * unable to complete the memberRemove() within a timeout.
+// *
+// * Note: Since we are holding the lock in the current thread, we
+// * MUST execute memberRemove() in this thread (it requires the
+// * lock). Therefore, I have used a 2nd thread that will
+// * interrupt this thread if it does not succeed in a polite
+// * removal from the quorum within a timeout.
+// */
+// {
+// final long MEMBER_REMOVE_TIMEOUT = 5000;// ms.
+// final AtomicBoolean didRemove = new AtomicBoolean(false);
+// final Thread self = Thread.currentThread();
+// final Thread t = new Thread() {
+// public void run() {
+// try {
+// Thread.sleep(MEMBER_REMOVE_TIMEOUT);
+// } catch (InterruptedException e) {
+// // Expected. Ignored.
+// return;
+// }
+// if (!didRemove.get()) {
+// log.error("Timeout awaiting quorum member remove.");
+// self.interrupt();
+// }
+// }
+// };
+// t.setDaemon(true);
+// t.start();
+// try {
+// // Attempt memberRemove() (interruptably).
+// actor.memberRemoveInterruptable();
+// didRemove.set(true); // Success.
+// } catch (InterruptedException e) {
+// // Propagate the interrupt.
+// Thread.currentThread().interrupt();
+// } finally {
+// t.interrupt(); // Stop execution of [t].
+// }
+// }
+// }
+
+ if (watcher != null) {
+ try {
+ watcher.terminate();
+ } catch (Throwable t) {
+ if (InnerCause.isInnerCause(t, InterruptedException.class)) {
+ interrupted = true;
+ } else {
+ launderThrowable(t);
}
}
}
-
- /*
- * Let the service know that it is no longer running w/ the quorum.
- */
- try {
- client.terminate();
- } catch (Throwable t) {
- launderThrowable(t);
- }
- if (watcher != null)
- watcher.terminate();
if (watcherActionService != null) {
watcherActionService.shutdown();
try {
@@ -664,10 +667,15 @@
interrupted = true;
} finally {
/*
- * Cancel any tasks which did terminate in a timely manner.
+ * Cancel any tasks which did not terminate in a timely manner.
*/
- watcherActionService.shutdownNow();
+ final List<Runnable> notrun = watcherActionService.shutdownNow();
watcherActionService = null;
+ for (Runnable r : notrun) {
+ if (r instanceof Future) {
+ ((Future<?>) r).cancel(true/* mayInterruptIfRunning */);
+ }
+ }
}
}
if (actorActionService != null) {
@@ -684,10 +692,15 @@
interrupted = true;
} finally {
/*
- * Cancel any tasks which did terminate in a timely manner.
+ * Cancel any tasks which did not terminate in a timely manner.
*/
- actorActionService.shutdownNow();
+ final List<Runnable> notrun = actorActionService.shutdownNow();
actorActionService = null;
+ for (Runnable r : notrun) {
+ if (r instanceof Future) {
+ ((Future<?>) r).cancel(true/* mayInterruptIfRunning */);
+ }
+ }
}
}
if (!sendSynchronous) {
@@ -700,12 +713,41 @@
// Will be propagated below.
interrupted = true;
} finally {
+ /*
+ * Cancel any tasks which did terminate in a timely manner.
+ */
+ final List<Runnable> notrun = eventService.shutdownNow();
eventService = null;
+ for (Runnable r : notrun) {
+ if (r instanceof Future) {
+ ((Future<?>) r).cancel(true/* mayInterruptIfRunning */);
+ }
+ }
}
}
/*
- * Signal all conditions so anyone blocked will wake up.
+ * Let the service know that it is no longer running w/ the quorum.
*/
+ try {
+ client.terminate();
+ } catch (Throwable t) {
+ if (InnerCause.isInnerCause(t, InterruptedException.class)) {
+ interrupted = true;
+ } else {
+ launderThrowable(t);
+ }
+ }
+ /*
+ * Clear all internal state variables that mirror the distributed
+ * quorum state and then signal all conditions so anyone blocked
+ * will wake up.
+ */
+ listeners.clear(); // discard listeners.
+ token = lastValidToken = NO_QUORUM;
+ members.clear();
+ votes.clear();
+ joined.clear();
+ pipeline.clear();
quorumChange.signalAll();
membersChange.signalAll();
pipelineChange.signalAll();
@@ -713,8 +755,6 @@
joinedChange.signalAll();
// discard reference to the client.
this.client = null;
- // discard listeners.
- listeners.clear();
} finally {
lock.unlock();
}
@@ -821,6 +861,19 @@
}
}
+// @Override
+ protected C getClientNoLock() {
+// lock.lock();
+// try {
+ final C client = this.client;
+ if (client == null)
+ throw new IllegalStateException();
+ return client;
+// } finally {
+// lock.unlock();
+// }
+ }
+
@Override
public QuorumMember<S> getMember() {
lock.lock();
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/QuorumClient.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/QuorumClient.java 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/quorum/QuorumClient.java 2013-10-25 21:18:46 UTC (rev 7485)
@@ -82,11 +82,13 @@
void terminate();
/**
- * The client has become disconnected from the quorum. This callback
- * provides a hook to take any local actions that are required when the
- * client can not longer rely on its role in the quorum state (if the client
- * is disconnected from the quorum, then it is no longer part of the quorum,
- * can not be a joined service, quorum member, etc).
+ * The client has become disconnected from the quorum (for zookeeper this is
+ * only generated if the session has expired rather than if there is a
+ * transient disconnect that can be cured). This callback provides a hook to
+ * take any local actions that are required when the client can not longer
+ * rely on its role in the quorum state (if the client is disconnected from
+ * the quorum, then it is no longer part of the quorum, can not be a joined
+ * service, quorum member, etc).
*/
void disconnected();
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/resources/logging/log4j-dev.properties
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/resources/logging/log4j-dev.properties 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/resources/logging/log4j-dev.properties 2013-10-25 21:18:46 UTC (rev 7485)
@@ -277,8 +277,8 @@
#log4j.logger.com.bigdata.journal.AbstractBufferStrategy=ALL
log4j.logger.com.bigdata.journal.jini.ha=ALL
#log4j.logger.com.bigdata.service.jini.lookup=ALL
-#log4j.logger.com.bigdata.quorum=ALL
-#log4j.logger.com.bigdata.quorum.zk=ALL
+log4j.logger.com.bigdata.quorum=ALL
+log4j.logger.com.bigdata.quorum.zk=ALL
#log4j.logger.com.bigdata.quorum.quorumState=ALL,destPlain
#log4j.logger.com.bigdata.io.writecache=ALL
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/bop/joinGraph
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/bop/joinGraph:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/bop/joinGraph:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/bop/joinGraph:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/joinGraph:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/joinGraph:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/bop/joinGraph:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/bop/joinGraph:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/bop/joinGraph:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/bop/joinGraph:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/bop/joinGraph:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/joinGraph:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/joinGraph:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/bop/joinGraph:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/bop/joinGraph:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/test/com/bigdata/bop/joinGraph:7465-7484
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/bop/util
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/bop/util:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/bop/util:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/bop/util:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/util:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/util:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/bop/util:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/bop/util:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/bop/util:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/bop/util:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/bop/util:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/util:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/util:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/bop/util:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/bop/util:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/test/com/bigdata/bop/util:7465-7484
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/jsr166
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/jsr166:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/jsr166:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/jsr166:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/jsr166:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/jsr166:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/jsr166:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/jsr166:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/jsr166:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/jsr166:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/jsr166:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/jsr166:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/jsr166:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/jsr166:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/jsr166:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/test/com/bigdata/jsr166:7465-7484
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/MockQuorumFixture.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/MockQuorumFixture.java 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/MockQuorumFixture.java 2013-10-25 21:18:46 UTC (rev 7485)
@@ -742,15 +742,22 @@
// Save UUID -> QuorumMember mapping on the fixture.
fixture.known.put(client.getServiceId(), client);
}
-
+
+ @Override
public void terminate() {
- final MockQuorumWatcher watcher = (MockQuorumWatcher) getWatcher();
+ MockQuorumWatcher watcher = null;
+ try {
+ watcher = (MockQuorumWatcher) getWatcher();
+ } catch(IllegalStateException ex) {
+ // Already terminated.
+ }
super.terminate();
// Stop the service accepting events for the watcher.
watcherService.shutdownNow();
- // remove our watcher as a listener for the fixture's inner quorum.
- fixture.removeWatcher(watcher);
+ // remove our watcher as a listener for the fixture's inner quorum.
+ if (watcher != null)
+ fixture.removeWatcher(watcher);
}
/**
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestAll.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestAll.java 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestAll.java 2013-10-25 21:18:46 UTC (rev 7485)
@@ -48,14 +48,6 @@
public class TestAll extends TestCase {
private final static Logger log = Logger.getLogger(TestAll.class);
-
- /**
- * FIXME This is used to avoid a CI deadlock that needs to be tracked down.
- *
- * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/530">
- * Journal HA </a>
- */
- final private static boolean s_includeQuorum = true;
/**
*
@@ -74,42 +66,38 @@
* Returns a test that will run each of the implementation specific test
* suites in turn.
*/
- public static Test suite()
- {
+ public static Test suite() {
final TestSuite suite = new TestSuite("quorum");
- if (s_includeQuorum) {
- /*
- * Test the fixture used to test the quorums (the fixture builds on the
- * same base class).
- */
- suite.addTestSuite(TestMockQuorumFixture.class);
-
- /*
- * Test the quorum semantics for a singleton quorum. This unit test
- * allows us to verify that each quorum state change is translated into
- * the appropriate methods against the public API of the quorum client
- * or quorum member.
- */
- suite.addTestSuite(TestSingletonQuorumSemantics.class);
-
- /*
- * Test the quorum semantics for a highly available quorum of 3
- * nodes. The main points to test here are the particulars of events not
- * observable with a singleton quorum, including a service join which
- * does not trigger a quorum meet, a service leave which does not
- * trigger a quorum break, a leader leave, etc.
- */
- suite.addTestSuite(TestHA3QuorumSemantics.class);
-
- /*
- * Run the test HA3 suite a bunch of times.
- */
- suite.addTest(StressTestHA3.suite());
+ /*
+ * Test the fixture used to test the quorums (the fixture builds on the
+ * same base class).
+ */
+ suite.addTestSuite(TestMockQuorumFixture.class);
- }
-
+ /*
+ * Test the quorum semantics for a singleton quorum. This unit test
+ * allows us to verify that each quorum state change is translated into
+ * the appropriate methods against the public API of the quorum client
+ * or quorum member.
+ */
+ suite.addTestSuite(TestSingletonQuorumSemantics.class);
+
+ /*
+ * Test the quorum semantics for a highly available quorum of 3 nodes.
+ * The main points to test here are the particulars of events not
+ * observable with a singleton quorum, including a service join which
+ * does not trigger a quorum meet, a service leave which does not
+ * trigger a quorum break, a leader leave, etc.
+ */
+ suite.addTestSuite(TestHA3QuorumSemantics.class);
+
+ /*
+ * Run the test HA3 suite a bunch of times.
+ */
+ suite.addTest(StressTestHA3.suite());
+
return suite;
}
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestSingletonQuorumSemantics.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestSingletonQuorumSemantics.java 2013-10-25 20:18:24 UTC (rev 7484)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/quorum/TestSingletonQuorumSemantics.java 2013-10-25 21:18:46 UTC (rev 7485)
@@ -27,6 +27,7 @@
package com.bigdata.quorum;
+import java.util.Collections;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
@@ -100,6 +101,66 @@
}
+ /**
+ * Unit test for quorum member add followed by the termination of the quorum
+ * client. This checks for proper termination of the client, including the
+ * clear down of the quorum's internal state.
+ *
+ * @throws InterruptedException
+ */
+ public void test_memberAdd_terminateClient() throws InterruptedException {
+
+ final Quorum<?, ?> quorum = quorums[0];
+ final QuorumMember<?> client = clients[0];
+ final QuorumActor<?,?> actor = actors[0];
+ final UUID serviceId = client.getServiceId();
+
+ // client is not a member.
+ assertFalse(client.isMember());
+ assertEquals(new UUID[] {}, quorum.getMembers());
+
+ // instruct actor to add client as a member.
+ actor.memberAdd();
+ fixture.awaitDeque();
+
+ // client is a member.
+ assertTrue(client.isMember());
+ assertEquals(new UUID[] {serviceId}, quorum.getMembers());
+
+ /*
+ * Verify termination of the quorum for that client.
+ */
+
+ assertEquals(client, quorum.getClient());
+
+ quorum.terminate();
+
+ try {
+ quorum.getClient();
+ } catch (IllegalStateException ex) {
+ log.info("Ignoring expected exception: " + ex);
+ }
+
+ // State was cleared.
+ assertEquals(Quorum.NO_QUORUM, quorum.token());
+ assertEquals(Quorum.NO_QUORUM, quorum.lastValidToken());
+ assertEquals(new UUID[] {}, quorum.getMembers());
+ assertEquals(new UUID[] {}, quorum.getJoined());
+ assertEquals(new UUID[] {}, quorum.getPipeline());
+ assertEquals(Collections.emptyMap(), quorum.getVotes());
+
+ try {
+ // Note: Quorum reference was cleared. Client throws exception.
+ assertFalse(client.isMember());
+ } catch (IllegalStateException ex) {
+ log.info("Ignoring expected exception: " + ex);
+ }
+
+ // Double-termination is safe.
+ quorum.terminate();
+
+ }
+
/**
* Unit test for write pipeline add/remove.
* @throws InterruptedException
@@ -345,6 +406,7 @@
* Unit test for the protocol up to a service join, which triggers a leader
* election. Since the singleton quorum has only one member our client will
* be elected the leader.
+ *
* @throws InterruptedException
*/
public void test_serviceJoin() throws InterruptedException {
@@ -479,6 +541,97 @@
}
/**
+ * Unit test verifying that we clear down the quorum's reflection of the
+ * distributed quorum state where we first have a quorum meet and then
+ * terminate the quorum client.
+ *
+ * @throws InterruptedException
+ */
+ public void test_serviceJoin_terminateClient() throws InterruptedException {
+
+ final AbstractQuorum<?, ?> quorum = quorums[0];
+ final MockQuorumMember<?> client = clients[0];
+ final QuorumActor<?,?> actor = actors[0];
+ final UUID serviceId = client.getServiceId();
+
+ final long lastCommitTime = 0L;
+ final long lastCommitTime2 = 2L;
+
+ // declare the service as a quorum member.
+ actor.memberAdd();
+ fixture.awaitDeque();
+
+ assertTrue(client.isMember());
+ assertEquals(new UUID[]{serviceId},quorum.getMembers());
+
+ // add to the pipeline.
+ actor.pipelineAdd();
+ fixture.awaitDeque();
+
+ assertTrue(client.isPipelineMember());
+ assertEquals(new UUID[]{serviceId},quorum.getPipeline());
+
+ // cast a vote for a lastCommitTime.
+ actor.castVote(lastCommitTime);
+ fixture.awaitDeque();
+
+ assertEquals(1,quorum.getVotes().size());
+ assertEquals(new UUID[] { serviceId }, quorum.getVotes().get(
+ lastCommitTime));
+
+ // verify the consensus was updated.
+ assertEquals(lastCommitTime, client.lastConsensusValue);
+
+ // wait for quorum meet.
+ final long token1 = quorum.awaitQuorum();
+
+ // verify service was joined.
+ assertTrue(client.isJoinedMember(quorum.token()));
+ assertEquals(new UUID[] { serviceId }, quorum.getJoined());
+
+ // validate the token was assigned.
+ fixture.awaitDeque();
+ assertEquals(Quorum.NO_QUORUM + 1, quorum.lastValidToken());
+ assertEquals(Quorum.NO_QUORUM + 1, quorum.token());
+ assertTrue(quorum.isQuorumMet());
+
+ /*
+ * Terminate the quorum. The state should be cleared down.
+ */
+
+ // Verify termination of the quorum for that client.
+ assertEquals(client, quorum.getClient());
+
+ // terminate the quorum.
+ quorum.terminate();
+
+ try {
+ quorum.getClient();
+ } catch (IllegalStateException ex) {
+ log.info("Ignoring expected exception: " + ex);
+ }
+
+ // State was cleared.
+ assertEquals(Quorum.NO_QUORUM, quorum.token());
+ assertEquals(Quorum.NO_QUORUM, quorum.lastValidToken());
+ assertEquals(new UUID[] {}, quorum.getMembers());
+ assertEquals(new UUID[] {}, quorum.getJoined());
+ assertEquals(new UUID[] {}, quorum.getPipeline());
+ assertEquals(Collections.emptyMap(), quorum.getVotes());
+
+ try {
+ // Note: Quorum reference was cleared. Client throws exception.
+ assertFalse(client.isMember());
+ } catch (IllegalStateException ex) {
+ log.info("Ignoring expected exception: " + ex);
+ }
+
+ // re-terminate() is safe.
+ quorum.terminate();
+
+ }
+
+ /**
* Unit test of timeout in {@link Quorum#awaitQuorum(long, TimeUnit)}. and
* {@link Quorum#awaitBreak(long, TimeUnit)}.
*
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/util/httpd
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/util/httpd:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/util/httpd:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/util/httpd:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/util/httpd:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/util/httpd:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/util/httpd:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/util/httpd:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata/src/test/com/bigdata/util/httpd:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata/src/test/com/bigdata/util/httpd:6766-7380
/branches/INT64_BRANCH/bigdata/src/test/com/bigdata/util/httpd:4486-4522
/branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/util/httpd:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata/src/test/com/bigdata/util/httpd:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata/src/test/com/bigdata/util/httpd:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/src/test/com/bigdata/util/httpd:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata/src/test/com/bigdata/util/httpd:7465-7484
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata-compatibility
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata-compatibility:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata-compatibility:6766-7380
/branches/INT64_BRANCH/bigdata-compatibility:4486-4522
/branches/LARGE_LITERALS_REFACTOR/bigdata-compatibility:4175-4387
/branches/QUADS_QUERY_BRANCH/bigdata-compatibility:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata-compatibility:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata-compatibility:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata-compatibility:4814-4836
+ /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata-compatibility:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata-compatibility:6766-7380
/branches/INT64_BRANCH/bigdata-compatibility:4486-4522
/branches/LARGE_LITERALS_REFACTOR/bigdata-compatibility:4175-4387
/branches/QUADS_QUERY_BRANCH/bigdata-compatibility:4525-4531,4533-4548,4550-4584,4586-4609,4611-4632,4634-4643,4646-4672,4674-4685,4687-4693,4697-4735,4737-4782,4784-4792,4794-4796,4798-4801
/branches/READ_CACHE/bigdata-compatibility:7215-7271
/branches/RWSTORE_1_1_0_DEBUG/bigdata-compatibility:5896-5935
/branches/TIDS_PLUS_BLOBS_BRANCH/bigdata-compatibility:4814-4836
/branches/ZK_DISCONNECT_HANDLING/bigdata-compatibility:7465-7484
Copied: branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/lib/apache/zookeeper-3.3.3.jar (from rev 7484, branches/ZK_DISCONNECT_HANDLING/bigdata-jini/lib/apache/zookeeper-3.3.3.jar)
===================================================================
(Binary files differ)
Property changes on: branches/BIGDATA_RELEASE_1_3_0/bigdata-jini/src/java/com/bigdata/attr
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/BIGDATA_OPENRDF_2_6_9_UPDATE/bigdata-jini/src/java/com/bigdata/attr:6769-6785
/branches/BIGDATA_RELEASE_1_2_0/bigdata-jini/src/java/com/bigdata/attr:6766-7380
/branches/BTREE_BUFFER_BRANCH/bigdata-jini/src/java/com/bigdata/attr:2004-2045
/branches/DEV_BRANCH_27_OCT_2009/bigdata-jini/src/java/com/bigdata/attr:2270-2546,2548-2782
/branches/INT64_BRANCH/bigdata-jini/src/java/com/bigdata/attr:4486-4522
/branches/JOURNAL_HA_BRANCH/bigdata-jini/src/java/com/bigdata/attr:2596-4066
/branch...
[truncated message content] |