From: <tho...@us...> - 2013-07-01 16:27:58
|
Revision: 7209 http://bigdata.svn.sourceforge.net/bigdata/?rev=7209&view=rev Author: thompsonbry Date: 2013-07-01 16:27:45 +0000 (Mon, 01 Jul 2013) Log Message: ----------- Changes to the GATHER/PREPARE protocol in order to close some gaps introduced by the recent refactoring to handle a service that joins after the GATHER but before the PREPARE. {{{ - Modified the GatherTask to return the consensusReleaseTime. This makes it possible to further validate things in Prepare2Phase. - Modified the PREPARE message to include (a) whether the service participated in the GATHER; and (b) the consensusReleaseTime from the leader. This change is NOT backwards compatible. Migration requires that commits are suspended on the HA replication cluster during a rolling upgrade. The decision to not provide backwards compatibility was made on the basis that we do not yet have a GA release with support for the HA replication cluster. - Modified commitNow() to collect and pass along the set of joined services in the GATHER as well as in the PREPARE. - Modified QuorumCommitImpl to pass along whether or not a service was joined in the GATHER as well as in the PREPARE and the consensus release time for the GATHER. - Modified Prepare2Phase to check additional conditions based on whether the service participated in the GATHER and to verify the release time on the followers (must be consisent with the GATHER even if the follower joined after the GATHER). - Modified HAJournal.config to use the FEDNAME environment variable. - Updated comments in HAJournal.env. - Isolated the FEDNAME as a static constant in the HA CI test suite. ---- test results ---- - 2 unexpected failures. both are stochastic. - testQuorumBreaksABC_failLeader: Failed once. Failed twice (uncurable service joined problem in seek consensus on C). 3rd time passed. 4th time passed. java.lang.RuntimeException: java.lang.RuntimeException: java.util.concurrent.TimeoutException at com.bigdata.io.TestCase3.assertCondition(TestCase3.java:233) at com.bigdata.journal.jini.ha.AbstractHA3JournalServerTestCase.awaitNextQuorumMeet(AbstractHA3JournalServerTestCase.java:2019) at com.bigdata.journal.jini.ha.TestHA3JournalServer.testQuorumBreaksABC_failLeader(TestHA3JournalServer.java:1329) Caused by: java.lang.RuntimeException: java.util.concurrent.TimeoutException at com.bigdata.journal.jini.ha.AbstractHA3JournalServerTestCase$9.run(AbstractHA3JournalServerTestCase.java:2031) at com.bigdata.io.TestCase3.assertCondition(TestCase3.java:223) ... 22 more Caused by: java.util.concurrent.TimeoutException at com.bigdata.quorum.AbstractQuorum.awaitQuorum(AbstractQuorum.java:1159) at com.bigdata.journal.jini.ha.AbstractHA3JournalServerTestCase$9.run(AbstractHA3JournalServerTestCase.java:2022) ... 23 more - testABCMultiLoadFollowerReadsLargeLoad: Failed once (trace below). 2nd time passed. java.util.concurrent.ExecutionException: com.bigdata.quorum.QuorumException: Quorum not met on token: expected 0, actual=1 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) at java.util.concurrent.FutureTask.get(FutureTask.java:111) at com.bigdata.journal.jini.ha.TestHA3JournalServer.doABCMultiLoadFollowerReads2(TestHA3JournalServer.java:2015) at com.bigdata.journal.jini.ha.TestHA3JournalServer.testABCMultiLoadFollowerReadsLargeLoad(TestHA3JournalServer.java:1901) Caused by: com.bigdata.quorum.QuorumException: Quorum not met on token: expected 0, actual=1 at com.bigdata.quorum.AbstractQuorum.assertQuorum(AbstractQuorum.java:1065) at com.bigdata.quorum.AbstractQuorumClient.getLeader(AbstractQuorumClient.java:106) at com.bigdata.journal.jini.ha.AbstractHA3JournalServerTestCase$LargeLoadTask.call(AbstractHA3JournalServerTestCase.java:2312) at com.bigdata.journal.jini.ha.AbstractHA3JournalServerTestCase$LargeLoadTask.call(AbstractHA3JournalServerTestCase.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) }}} @see https://sourceforge.net/apps/trac/bigdata/ticket/530 (Journal HA) Modified Paths: -------------- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/PrepareRequest.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumCommitImpl.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/AbstractJournal.java branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/Journal.java branches/READ_CACHE/bigdata/src/java/com/bigdata/service/AbstractHATransactionService.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java branches/READ_CACHE/src/resources/HAJournal/HAJournal.config branches/READ_CACHE/src/resources/HAJournal/HAJournal.env Added Paths: ----------- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/IJoinedAndNonJoinedServices.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/JoinedAndNonJoinedServices.java Added: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/IJoinedAndNonJoinedServices.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/IJoinedAndNonJoinedServices.java (rev 0) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/IJoinedAndNonJoinedServices.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -0,0 +1,44 @@ +/** + +Copyright (C) SYSTAP, LLC 2006-2010. All rights reserved. + +Contact: + SYSTAP, LLC + 4501 Tower Road + Greensboro, NC 27410 + lic...@bi... + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +package com.bigdata.ha; + +import java.util.Set; +import java.util.UUID; + +/** + * Interface providing an atomic snapshot of the services that are joined with a + * met quorum (and the services that are not joined with a met quorum) as of + * some point in the GATHER or PREPARE protocol. + * + * @author <a href="mailto:tho...@us...">Bryan Thompson</a> + */ +public interface IJoinedAndNonJoinedServices { + + /** The services joined with the met quorum, in their join order. */ + public UUID[] getJoinedServiceIds(); + + /** The services in the write pipeline (in any order). */ + public Set<UUID> getNonJoinedPipelineServiceIds(); + +} Added: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/JoinedAndNonJoinedServices.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/JoinedAndNonJoinedServices.java (rev 0) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/JoinedAndNonJoinedServices.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -0,0 +1,110 @@ +/** + +Copyright (C) SYSTAP, LLC 2006-2010. All rights reserved. + +Contact: + SYSTAP, LLC + 4501 Tower Road + Greensboro, NC 27410 + lic...@bi... + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +package com.bigdata.ha; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.Set; +import java.util.UUID; + +import com.bigdata.quorum.Quorum; + +/** + * Helper class finds all joined and non-joined services for the quorum + * client. + * + * @author <a href="mailto:tho...@us...">Bryan + * Thompson</a> + */ +public class JoinedAndNonJoinedServices implements Serializable, + IJoinedAndNonJoinedServices { + + /** + * + */ + private static final long serialVersionUID = 1L; + + // The services joined with the met quorum, in their join order. + private final UUID[] joinedServiceIds; + + // The services in the write pipeline (in any order). + private final Set<UUID> nonJoinedPipelineServiceIds; + + public JoinedAndNonJoinedServices( + final Quorum<HAGlue, QuorumService<HAGlue>> quorum) { + + // The services joined with the met quorum, in their join order. + joinedServiceIds = quorum.getJoined(); + + // The UUID for this service. + final UUID serviceId = quorum.getClient().getServiceId(); + + if (joinedServiceIds.length == 0 + || !joinedServiceIds[0].equals(serviceId)) { + + /* + * Sanity check. Verify that the first service in the join order + * is *this* service. This is a precondition for the service to + * be the leader. + */ + + throw new RuntimeException("Not leader: serviceId=" + serviceId + + ", joinedServiceIds=" + + Arrays.toString(joinedServiceIds)); + + } + + // The services in the write pipeline (in any order). + nonJoinedPipelineServiceIds = new LinkedHashSet<UUID>( + Arrays.asList(quorum.getPipeline())); + + // Remove all services that are joined from this collection. + for (UUID joinedServiceId : joinedServiceIds) { + + nonJoinedPipelineServiceIds.remove(joinedServiceId); + + } + + } + + @Override + public UUID[] getJoinedServiceIds() { + return joinedServiceIds; + } + + @Override + public Set<UUID> getNonJoinedPipelineServiceIds() { + return nonJoinedPipelineServiceIds; + } + + @Override + public String toString() { + return super.toString() + "{#joined=" + joinedServiceIds.length + + ", #nonJoined=" + nonJoinedPipelineServiceIds.size() + + ", joinedServices=" + Arrays.toString(joinedServiceIds) + + ", nonJoined=" + nonJoinedPipelineServiceIds + "}"; + } + +} Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/PrepareRequest.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/PrepareRequest.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/PrepareRequest.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -26,11 +26,9 @@ */ package com.bigdata.ha; -import java.util.Arrays; -import java.util.Set; -import java.util.UUID; import java.util.concurrent.TimeUnit; +import com.bigdata.ha.msg.IHANotifyReleaseTimeResponse; import com.bigdata.journal.IRootBlockView; /** @@ -40,38 +38,79 @@ */ public class PrepareRequest { - private final UUID[] joinedServiceIds; - private final Set<UUID> nonJoinedPipelineServiceIds; + /** The consensus release time from the GATHER. */ + private final IHANotifyReleaseTimeResponse consensusReleaseTime; + + /** + * The services joined and non-joined with the met quorum as of the atomic + * decision point for the GATHER. + */ + private final IJoinedAndNonJoinedServices gatherJoinedAndNonJoinedServices; + /** + * The services joined and non-joined with the met quorum as of the atomic + * decision point for the PREPARE. + */ + private final IJoinedAndNonJoinedServices prepareJoinedAndNonJoinedServices; +// private final UUID[] joinedServiceIds; +// private final Set<UUID> nonJoinedPipelineServiceIds; private final IRootBlockView rootBlock; private final long timeout; private final TimeUnit unit; - public UUID[] getJoinedServiceIds() { - return joinedServiceIds; + /** The consensus release time from the GATHER. */ + public IHANotifyReleaseTimeResponse getConsensusReleaseTime() { + + return consensusReleaseTime; + } + + /** + * The services joined and non-joined with the met quorum as of the atomic + * decision point for the GATHER. + */ + public IJoinedAndNonJoinedServices getGatherJoinedAndNonJoinedServices() { - public Set<UUID> getNonJoinedPipelineServiceIds() { - return nonJoinedPipelineServiceIds; + return gatherJoinedAndNonJoinedServices; + } + /** + * The services joined and non-joined with the met quorum as of the atomic + * decision point for the PREPARE. + */ + public IJoinedAndNonJoinedServices getPrepareAndNonJoinedServices() { + + return prepareJoinedAndNonJoinedServices; + + } + public IRootBlockView getRootBlock() { + return rootBlock; + } public long getTimeout() { + return timeout; + } public TimeUnit getUnit() { + return unit; + } /** - * - * @param joinedServiceIds - * The services joined with the met quorum, in their join order. - * @param nonJoinedPipelineServiceIds - * The non-joined services in the write pipeline (in any order). + * @param consensusReleaseTime + * The consensus release time from the GATHER. + * @param gatherJoinedAndNonJoinedServices + * The services joined and non-joined with the met quorum as of + * the atomic decision point for the GATHER. + * @param prepareJoinedAndNonJoinedServices + * The services joined and non-joined with the met quorum as of + * the atomic decision point for the PREPARE. * @param isRootBlock0 * if this is rootBlock0. * @param rootBlock @@ -82,19 +121,34 @@ * The unit for the timeout. */ public PrepareRequest( - final UUID[] joinedServiceIds, // - final Set<UUID> nonJoinedPipelineServiceIds,// + final IHANotifyReleaseTimeResponse consensusReleaseTime, + final IJoinedAndNonJoinedServices gatherJoinedAndNonJoinedServices, + final IJoinedAndNonJoinedServices prepareJoinedAndNonJoinedServices, +// final UUID[] joinedServiceIds, // +// final Set<UUID> nonJoinedPipelineServiceIds,// final IRootBlockView rootBlock, final long timeout, final TimeUnit unit) { + if (consensusReleaseTime == null) + throw new IllegalArgumentException(); + + if (gatherJoinedAndNonJoinedServices == null) + throw new IllegalArgumentException(); + + if (prepareJoinedAndNonJoinedServices == null) + throw new IllegalArgumentException(); + if (rootBlock == null) throw new IllegalArgumentException(); if (unit == null) throw new IllegalArgumentException(); - this.joinedServiceIds = joinedServiceIds; - this.nonJoinedPipelineServiceIds = nonJoinedPipelineServiceIds; + this.consensusReleaseTime = consensusReleaseTime; + this.gatherJoinedAndNonJoinedServices = gatherJoinedAndNonJoinedServices; + this.prepareJoinedAndNonJoinedServices = prepareJoinedAndNonJoinedServices; +// this.joinedServiceIds = joinedServiceIds; +// this.nonJoinedPipelineServiceIds = nonJoinedPipelineServiceIds; this.rootBlock = rootBlock; this.timeout = timeout; this.unit = unit; @@ -102,13 +156,21 @@ @Override public String toString() { - return super.toString() + "{isRootBlock0=" + rootBlock.isRootBlock0() - + ", rootBlock=" + rootBlock + ", #joined=" - + joinedServiceIds.length + ", #nonJoined=" - + nonJoinedPipelineServiceIds.size() + ", joinedServices=" - + Arrays.toString(joinedServiceIds) + ", nonJoined=" - + nonJoinedPipelineServiceIds + ", timeout=" + timeout - + ", unit=" + unit + "}"; + return super.toString() + + "{"// + + "isRootBlock0=" + + rootBlock.isRootBlock0()// + + ", rootBlock=" + + rootBlock// + + ", consensusReleaseTime=" + + consensusReleaseTime// + + ", gatherJoinedAndNonJoinedServices=" + + gatherJoinedAndNonJoinedServices// + + ", prepareJoinedAndNonJoinedServices=" + + prepareJoinedAndNonJoinedServices // + + ", timeout=" + timeout// + + ", unit=" + unit // + + "}"; } } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumCommitImpl.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumCommitImpl.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumCommitImpl.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -147,7 +147,8 @@ final IRootBlockView rootBlock = req.getRootBlock(); - final UUID[] joinedServiceIds = req.getJoinedServiceIds(); + final UUID[] joinedServiceIds = req.getPrepareAndNonJoinedServices() + .getJoinedServiceIds(); // final Set<UUID> nonJoinedPipelineServiceIds = req // .getNonJoinedPipelineServiceIds(); @@ -205,10 +206,6 @@ { - // The message used for the services that are joined. - final IHA2PhasePrepareMessage msgForJoinedService = new HA2PhasePrepareMessage( - true/* isJoinedService */, rootBlock, timeout, unit); - // First, message the joined services (met with the quorum). int i = 1; { @@ -218,6 +215,31 @@ final UUID serviceId = joinedServiceIds[i]; /* + * Figure out if this service participated in the + * GATHER. + */ + final boolean isGatherService; + { + boolean found = false; + for (UUID x : req + .getGatherJoinedAndNonJoinedServices() + .getJoinedServiceIds()) { + if (serviceId.equals(x)) { + found = true; + break; + } + } + isGatherService = found; + } + + // The message used for the services that are joined. + final IHA2PhasePrepareMessage msgForJoinedService = new HA2PhasePrepareMessage( + req.getConsensusReleaseTime(),// + isGatherService,// + true, // isJoinedService + rootBlock, timeout, unit); + + /* * Runnable which will execute this message on the * remote service. * @@ -292,6 +314,13 @@ final S leader = member.getService(); + // The message used for the leader. + final IHA2PhasePrepareMessage msgForJoinedService = new HA2PhasePrepareMessage( + req.getConsensusReleaseTime(),// + true, // isGatherService (always true for leader) + true, // isJoinedService (always true for leader) + rootBlock, timeout, unit); + final Future<Boolean> f = leader .prepare2Phase(msgForJoinedService); @@ -433,7 +462,8 @@ final PrepareRequest preq = req.getPrepareRequest(); - final UUID[] joinedServiceIds = preq.getJoinedServiceIds(); + final UUID[] joinedServiceIds = preq.getPrepareAndNonJoinedServices() + .getJoinedServiceIds(); // final Set<UUID> nonJoinedPipelineServiceIds = preq // .getNonJoinedPipelineServiceIds(); Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -34,18 +34,33 @@ public class HA2PhasePrepareMessage implements IHA2PhasePrepareMessage, Serializable { - private static final long serialVersionUID = 1L; - + /** + * Note: The original {@link #serialVersionUID} was <code>1L</code> - this + * version was never release. The {@link #serialVersionUID} was changed to + * <code>2L</code> when adding the {@link #consensusReleaseTime} and + * {@link #isGatherService} fields. It is not possible to roll forward from + * the non-released version without shutting down each service before + * allowing another commit. + */ + private static final long serialVersionUID = 2L; + + private final IHANotifyReleaseTimeResponse consensusReleaseTime; + private final boolean isGatherService; private final boolean isJoinedService; private final boolean isRootBlock0; private final byte[] rootBlock; private final long timeout; private final TimeUnit unit; - public HA2PhasePrepareMessage(final boolean isJoinedService, + public HA2PhasePrepareMessage( + final IHANotifyReleaseTimeResponse consensusReleaseTime, + final boolean isGatherService, final boolean isJoinedService, final IRootBlockView rootBlock, final long timeout, final TimeUnit unit) { + if (consensusReleaseTime == null) + throw new IllegalArgumentException(); + if (rootBlock == null) throw new IllegalArgumentException(); @@ -55,6 +70,10 @@ if (unit == null) throw new IllegalArgumentException(); + this.consensusReleaseTime = consensusReleaseTime; + + this.isGatherService = isGatherService; + this.isJoinedService = isJoinedService; this.isRootBlock0 = rootBlock.isRootBlock0(); @@ -72,7 +91,18 @@ } + @Override + public IHANotifyReleaseTimeResponse getConsensusReleaseTime() { + return consensusReleaseTime; + } + + @Override + public boolean isGatherService() { + return isGatherService; + } + + @Override public boolean isJoinedService() { return isJoinedService; } @@ -100,4 +130,17 @@ return unit; } + @Override + public String toString() { + return super.toString()+"{"// + +"consensusReleaseTime="+getConsensusReleaseTime()// + +",isGatherService="+isGatherService()// + +",isPrepareService="+isJoinedService()// + +",isRootBlock0="+isRootBlock0()// + +",rootBlock()="+getRootBlock()// + +",timeout="+getTimeout()// + +",unit="+getUnit()// + +"}"; + } + } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -39,14 +39,33 @@ public interface IHA2PhasePrepareMessage extends IHAMessage { /** + * The consensus release time from the GATHER. + */ + IHANotifyReleaseTimeResponse getConsensusReleaseTime(); + + /** * <code>true</code> iff the service was recognized as being joined with the - * met quorum at the time that the prepare message was prepared. + * met quorum at the time that the GATHER message was prepared. * <p> * Note: This is used to support atomic decisions about whether or not a * service was joined with the met quorum at the time that the leader + * decided to update the consensus release time. Services that are in the + * pipeline and resynchronizing were either joined or not for the purposes + * of a given 2-phase GATHER operation based on this flag. + */ + boolean isGatherService(); + + /** + * <code>true</code> iff the service was recognized as being joined with the + * met quorum at the time that the PREPARE message was prepared. + * <p> + * Note: This is used to support atomic decisions about whether or not a + * service was joined with the met quorum at the time that the leader * decided to commit. Services that are in the pipeline and resynchronizing * will either be joined or not for the purposes of a given 2-phase commit * based on this flag. + * <p> + * Note: A better name for this flag would be <code>isPrepareService()</code>. */ boolean isJoinedService(); Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/AbstractJournal.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/AbstractJournal.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/AbstractJournal.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -38,11 +38,9 @@ import java.rmi.RemoteException; import java.security.DigestException; import java.security.NoSuchAlgorithmException; -import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -101,6 +99,8 @@ import com.bigdata.ha.HAGlue; import com.bigdata.ha.HAStatusEnum; import com.bigdata.ha.HATXSGlue; +import com.bigdata.ha.IJoinedAndNonJoinedServices; +import com.bigdata.ha.JoinedAndNonJoinedServices; import com.bigdata.ha.PrepareRequest; import com.bigdata.ha.PrepareResponse; import com.bigdata.ha.QuorumService; @@ -2907,60 +2907,6 @@ } /** - * Helper class finds all joined and non-joined services for the quorum - * client. - * - * @author <a href="mailto:tho...@us...">Bryan - * Thompson</a> - */ - private static class JoinedAndNonJoinedServices { - - // The services joined with the met quorum, in their join order. - final UUID[] joinedServiceIds; - - // The services in the write pipeline (in any order). - final Set<UUID> nonJoinedPipelineServiceIds; - - public JoinedAndNonJoinedServices( - final Quorum<HAGlue, QuorumService<HAGlue>> quorum) { - - // The services joined with the met quorum, in their join order. - joinedServiceIds = quorum.getJoined(); - - // The UUID for this service. - final UUID serviceId = quorum.getClient().getServiceId(); - - if (joinedServiceIds.length == 0 - || !joinedServiceIds[0].equals(serviceId)) { - - /* - * Sanity check. Verify that the first service in the join order - * is *this* service. This is a precondition for the service to - * be the leader. - */ - - throw new RuntimeException("Not leader: serviceId=" + serviceId - + ", joinedServiceIds=" - + Arrays.toString(joinedServiceIds)); - - } - - // The services in the write pipeline (in any order). - nonJoinedPipelineServiceIds = new LinkedHashSet<UUID>( - Arrays.asList(quorum.getPipeline())); - - // Remove all services that are joined from this collection. - for (UUID joinedServiceId : joinedServiceIds) { - - nonJoinedPipelineServiceIds.remove(joinedServiceId); - - } - - } - - } - - /** * Get timestamp that will be assigned to this commit point. * <P> * Note: This will spin until commit time advances over @@ -3151,6 +3097,8 @@ final QuorumService<HAGlue> quorumService = quorum == null ? null : quorum.getClient(); + final IJoinedAndNonJoinedServices gatherJoinedAndNonJoinedServices; + final IHANotifyReleaseTimeResponse consensusReleaseTime; if ((_bufferStrategy instanceof IHABufferStrategy) && quorum != null && quorum.isHighlyAvailable()) { @@ -3182,13 +3130,14 @@ try { // Atomic decision point for GATHER re joined services. - final JoinedAndNonJoinedServices tmp = new JoinedAndNonJoinedServices( + gatherJoinedAndNonJoinedServices = new JoinedAndNonJoinedServices( quorum); - + // Run the GATHER protocol. - ((AbstractHATransactionService) getLocalTransactionManager() + consensusReleaseTime = ((AbstractHATransactionService) getLocalTransactionManager() .getTransactionService()) - .updateReleaseTimeConsensus(tmp.joinedServiceIds, + .updateReleaseTimeConsensus( + gatherJoinedAndNonJoinedServices.getJoinedServiceIds(), getHAReleaseTimeConsensusTimeout(), TimeUnit.MILLISECONDS); @@ -3205,7 +3154,16 @@ } - } // if HA + } else { + + /* + * Not HA. Did not do GATHER. + */ + + gatherJoinedAndNonJoinedServices = null; + consensusReleaseTime = null; + + } // if (HA) do GATHER /* * Before flushing the commitRecordIndex we need to check for @@ -3455,13 +3413,13 @@ try { // Atomic decision point for joined vs non-joined services. - final JoinedAndNonJoinedServices tmp = new JoinedAndNonJoinedServices( + final IJoinedAndNonJoinedServices prepareJoinedAndNonJoinedServices = new JoinedAndNonJoinedServices( quorum); - final PrepareRequest req = new PrepareRequest( - tmp.joinedServiceIds,// - tmp.nonJoinedPipelineServiceIds,// -// !old.isRootBlock0(),// + final PrepareRequest req = new PrepareRequest(// + consensusReleaseTime,// + gatherJoinedAndNonJoinedServices,// + prepareJoinedAndNonJoinedServices,// newRootBlock,// quorumService.getPrepareTimeout(), // timeout TimeUnit.MILLISECONDS// @@ -6076,7 +6034,7 @@ * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/673" > * Native thread leak in HAJournalServer process </a> */ - private final AtomicReference<Future<Void>> gatherFuture = new AtomicReference<Future<Void>>(); + private final AtomicReference<Future<IHANotifyReleaseTimeResponse>> gatherFuture = new AtomicReference<Future<IHANotifyReleaseTimeResponse>>(); /** * The {@link Quorum} for this service -or- <code>null</code> if the service @@ -6585,174 +6543,196 @@ */ public Boolean call() throws Exception { - /* - * Get and clear the [gatherFuture]. A service which was joined - * at the atomic decision point for the GATHER will have a - * non-null Future here. A service which is newly joined and - * which joined *after* the GATHER will have a [null] Future - * here. If the service participated in the gather, then we will - * use this Future to decide if it should vote NO. If the - * service joined *after* the GATHER, then the Future will be - * [null] and we will ignore it. - * - * FIXME GATHER/PREPARE: This does not verify that the service - * joined after the GATHER when [oldFuture] is [null]. This - * condition is simply assumed to be true. We need to - * distinguish between the two cases described above That could - * be done by returning the set of joined services as of the - * atomic decision point for the GATHER. - */ - final Future<Void> oldFuture = gatherFuture - .getAndSet(null/* newValue */); - try { - - if (haLog.isInfoEnabled()) - haLog.info("gatherFuture=" + oldFuture); - final IRootBlockView rootBlock = prepareMessage.getRootBlock(); + /* + * Get and clear the [gatherFuture]. A service which was + * joined at the atomic decision point for the GATHER will + * have a non-null Future here. A service which is newly + * joined and which joined *after* the GATHER will have a + * [null] Future here. If the service participated in the + * gather, then we will use this Future to decide if it + * should vote NO. If the service joined *after* the GATHER, + * then the Future will be [null] and we will ignore it. + * + * Note: This is checked below. + */ + final Future<IHANotifyReleaseTimeResponse> oldFuture = gatherFuture + .getAndSet(null/* newValue */); - if (haLog.isInfoEnabled()) - haLog.info("preparedRequest=" + rootBlock + ", isLeader: " + isLeader); + if (haLog.isInfoEnabled()) + haLog.info("gatherFuture=" + oldFuture); + + final IRootBlockView rootBlock = prepareMessage.getRootBlock(); + + if (haLog.isInfoEnabled()) + haLog.info("preparedRequest=" + rootBlock + ", isLeader: " + isLeader); + + if (rootBlock == null) + throw new IllegalStateException(); + + // Validate the new root block against the current root block. + validateNewRootBlock(/*isJoined,*/ isLeader, AbstractJournal.this._rootBlock, rootBlock); + + if (haLog.isInfoEnabled()) + haLog.info("validated=" + rootBlock); + + /* + * Verify that the local release time is consisent with the + * GATHER. + */ + final IHANotifyReleaseTimeResponse consensusReleaseTime = prepareMessage + .getConsensusReleaseTime(); + + { + + final long localReleaseTime = getLocalTransactionManager() + .getTransactionService().getReleaseTime(); + + // Note: Per the GatherTask (in Journal.java). + final long expectedReleaseTime = Math.max(0L, + consensusReleaseTime.getCommitTime() - 1); - if (rootBlock == null) - throw new IllegalStateException(); + if (localReleaseTime != expectedReleaseTime) { - // Validate the new root block against the current root block. - validateNewRootBlock(/*isJoined,*/ isLeader, AbstractJournal.this._rootBlock, rootBlock); + throw new AssertionError( + "Local service does not agree with consensusReleaseTime: localReleaseTime=" + + localReleaseTime + + ", expectedReleaseTime=" + + expectedReleaseTime + + ", consensusReleaseTime=" + + consensusReleaseTime); - if (haLog.isInfoEnabled()) - haLog.info("validated=" + rootBlock); - - /* - * if(follower) {...} - */ - if (/*isJoined &&*/ !isLeader) { - - /** - * This is a follower. - * - * Validate the release time consensus protocol was - * completed successfully on the follower. - * - * Note: We need to block here (on oldFuture.get()) in case - * the follower has not finished applying the updated - * release time. - * - * @see <a - * href="https://sourceforge.net/apps/trac/bigdata/ticket/673" - * > Native thread leak in HAJournalServer process </a> + } + + } + + /* + * if(follower) {...} */ - - if (oldFuture == null) { - - /* - * Ok not to be part of consensus, could have just - * joined. + if (/*isJoined &&*/ !isLeader) { + + /** + * This is a follower. * - * The GATHER is determines the earliest visible - * commit point for new transaction starts. It is - * not specifically about the commit itself. + * Validate the release time consensus protocol was + * completed successfully on the follower. * - * Therefore the only restriction is to control when - * historical transactions are permitted. We should - * only fail the PREPARE if we have an earliest - * transaction point prior to that reported in the - * prepared rootblock. - * - * Note: There should be no active transactions if - * we joined on a live write and have not taken part - * in a gather. - * - * FIXME GATHER/PREPARE: Can we validate that this is a - * newly joined service and hence that we can vote - * YES unconditionally? Can we validate that there - * are no active transactions? Can we validate that - * the follower's releaseTime is consisent with (the - * same as) the consensus release time for the - * leader? + * @see <a + * href="https://sourceforge.net/apps/trac/bigdata/ticket/673" + * > Native thread leak in HAJournalServer process </a> */ - - vote.set(true); + + if (!prepareMessage.isGatherService()) { + + /* + * This service did not participate in the GATHER. + * Instead, it joined after the GATHER but before + * the PREPARE. + */ - // Done. - return vote.get(); - - } + // [gatherFuture] should have been [null]. + assert oldFuture == null; + + vote.set(true); + + // Done. + return vote.get(); + + } - try { - oldFuture.get(); - // Gather was successful - fall through. - } catch (InterruptedException e) { - // Note: Future isDone(). Caller should not block. - throw new AssertionError(); - } catch (CancellationException e) { - // Gather cancelled on the follower (e.g., immediately above). - haLog.error("Gather cancelled on follower: serviceId=" - + getServiceId() + " : " + e, e); - return vote.get(); - } catch (ExecutionException e) { - // Gather failed on the follower. - haLog.error("Gather failed on follower: serviceId=" - + getServiceId() + " : " + e, e); - return vote.get(); - } + /** + * Note: We need to block here (on oldFuture.get()) in + * case the follower has not finished applying the + * updated release time. + */ + try { - } - - /* - * Call to ensure strategy does everything required for itself - * before final root block commit. At a minimum it must flush - * its write cache to the backing file (issue the writes). - */ - // _bufferStrategy.commit(); // lifted to before we - // retrieve - // RootBlock in commitNow - /* - * Force application data to stable storage _before_ we update - * the root blocks. This option guarantees that the application - * data is stable on the disk before the atomic commit. Some - * operating systems and/or file systems may otherwise choose an - * ordered write with the consequence that the root blocks are - * laid down on the disk before the application data and a hard - * failure could result in the loss of application data - * addressed by the new root blocks (data loss on restart). - * - * Note: We do not force the file metadata to disk. If that is - * done, it will be done by a force() after we write the root - * block on the disk. - */ - if (doubleSync) { + // Note: [oldFuture] MUST be non-null! + final IHANotifyReleaseTimeResponse tmp = oldFuture.get(); + + if ((tmp.getCommitCounter() != consensusReleaseTime + .getCommitCounter()) + || (tmp.getCommitTime() != consensusReleaseTime + .getCommitTime())) { + + throw new AssertionError( + "GatherTask reports different consensus: GatherTask=" + + tmp + + ", consensusReleaseTime=" + + consensusReleaseTime); + } - _bufferStrategy.force(false/* metadata */); - - } - - // Vote YES. - vote.set(true); - - return vote.get(); - - } finally { - - if(!vote.get()) { - if (oldFuture != null) { /* - * Did GATHER and voted NO. + * Gather was successful - fall through. */ - doRejectedCommit(); - } else { + + } catch (InterruptedException e) { /* - * FIXME GATHER/PREPARE : This is *assuming* that we - * have a newly joined service. That should have - * been verified above. + * Note: Future isDone(). Caller should not block. */ - haLog.info("Did not do GATHER : Presumed newly joined service."); + throw new AssertionError(); + } catch (CancellationException e) { + /* + * Gather cancelled on the follower (e.g., + * immediately above). + */ + haLog.error("Gather cancelled on follower: serviceId=" + + getServiceId() + " : " + e, e); + return vote.get(); + } catch (ExecutionException e) { + // Gather failed on the follower. + haLog.error("Gather failed on follower: serviceId=" + + getServiceId() + " : " + e, e); + return vote.get(); } + } + /* + * Call to ensure strategy does everything required for itself + * before final root block commit. At a minimum it must flush + * its write cache to the backing file (issue the writes). + */ + // _bufferStrategy.commit(); // lifted to before we + // retrieve + // RootBlock in commitNow + /* + * Force application data to stable storage _before_ we update + * the root blocks. This option guarantees that the application + * data is stable on the disk before the atomic commit. Some + * operating systems and/or file systems may otherwise choose an + * ordered write with the consequence that the root blocks are + * laid down on the disk before the application data and a hard + * failure could result in the loss of application data + * addressed by the new root blocks (data loss on restart). + * + * Note: We do not force the file metadata to disk. If that is + * done, it will be done by a force() after we write the root + * block on the disk. + */ + if (doubleSync) { + + _bufferStrategy.force(false/* metadata */); + + } + + // Vote YES. + vote.set(true); + + return vote.get(); + + } finally { + + if (!vote.get()) { + /* + * Throw away our local write set. + */ + doRejectedCommit(); + } + } - + } } @@ -7439,18 +7419,26 @@ if (haLog.isInfoEnabled()) haLog.info("req=" + req); - // Clear the old outcome. Reference SHOULD be null. Ensure not running. - final Future<Void> oldFuture = gatherFuture.getAndSet(null); + { + + /* + * Clear the old outcome. Reference SHOULD be null. Ensure not + * running. + */ + final Future<IHANotifyReleaseTimeResponse> oldFuture = gatherFuture + .getAndSet(null); + + if (oldFuture != null && !oldFuture.isDone()) + oldFuture.cancel(true/* mayInterruptIfRunning */); + + } - if (oldFuture != null && !oldFuture.isDone()) - oldFuture.cancel(true/* mayInterruptIfRunning */); - - final Callable<Void> task = ((AbstractHATransactionService) AbstractJournal.this + final Callable<IHANotifyReleaseTimeResponse> task = ((AbstractHATransactionService) AbstractJournal.this .getLocalTransactionManager() .getTransactionService()) .newGatherMinimumVisibleCommitTimeTask(req); - final FutureTask<Void> ft = new FutureTask<Void>(task); + final FutureTask<IHANotifyReleaseTimeResponse> ft = new FutureTask<IHANotifyReleaseTimeResponse>(task); // Save reference to the gather Future. gatherFuture.set(ft); Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/Journal.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/Journal.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/Journal.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -1113,7 +1113,7 @@ */ // Note: Executed on the leader. @Override - public void updateReleaseTimeConsensus(final UUID[] joinedServiceIds, + public IHANotifyReleaseTimeResponse updateReleaseTimeConsensus(final UUID[] joinedServiceIds, final long timeout, final TimeUnit units) throws IOException, InterruptedException, TimeoutException, BrokenBarrierException { @@ -1208,6 +1208,8 @@ setReleaseTime(newReleaseTime); + return consensus; + } finally { barrierLock.unlock(); @@ -1372,11 +1374,8 @@ } - /** - * Return the {@link GatherTask} that will be executed by the follower. - */ @Override - public Callable<Void> newGatherMinimumVisibleCommitTimeTask( + public Callable<IHANotifyReleaseTimeResponse> newGatherMinimumVisibleCommitTimeTask( final IHAGatherReleaseTimeRequest req) { return new GatherTask(req); @@ -1414,7 +1413,7 @@ * * @see #newTx(long) */ - private class GatherTask implements Callable<Void> { + private class GatherTask implements Callable<IHANotifyReleaseTimeResponse> { private final IHAGatherReleaseTimeRequest req; @@ -1434,7 +1433,7 @@ * commitNow(), then that change will be detected by the leader and * it will break the {@link CyclicBarrier}. */ - public Void call() throws Exception { + public IHANotifyReleaseTimeResponse call() throws Exception { if (log.isInfoEnabled()) log.info("Running gather on follower"); @@ -1580,7 +1579,7 @@ } // Done. - return null; + return consensusReleaseTime; } catch (Throwable t) { Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/service/AbstractHATransactionService.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/service/AbstractHATransactionService.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/service/AbstractHATransactionService.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -36,6 +36,7 @@ import com.bigdata.ha.HATXSGlue; import com.bigdata.ha.msg.IHAGatherReleaseTimeRequest; +import com.bigdata.ha.msg.IHANotifyReleaseTimeResponse; import com.bigdata.journal.AbstractJournal; import com.bigdata.journal.ITransactionService; @@ -54,7 +55,7 @@ } /** - * Factory for the Gather task on the follower. + * Factory for the Gather task that will be executed by the follower. * * @param req * The request. @@ -64,7 +65,7 @@ * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/673" > * Native thread leak in HAJournalServer process </a> */ - abstract public Callable<Void> newGatherMinimumVisibleCommitTimeTask( + abstract public Callable<IHANotifyReleaseTimeResponse> newGatherMinimumVisibleCommitTimeTask( final IHAGatherReleaseTimeRequest req); /** @@ -79,7 +80,7 @@ * @param units * The units for that timeout. */ - abstract public void updateReleaseTimeConsensus( + abstract public IHANotifyReleaseTimeResponse updateReleaseTimeConsensus( final UUID[] joinedServiceIds, final long timeout, final TimeUnit units) throws IOException, TimeoutException, InterruptedException, Exception; Modified: branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java =================================================================== --- branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -536,9 +536,7 @@ * individual service directory. */ protected File getTestDir() { - - return new File("benchmark/CI-HAJournal-1"); - + return new File(FEDNAME + "/CI-HAJournal-1"); } protected File getServiceDirA() { Modified: branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java =================================================================== --- branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -99,6 +99,16 @@ } /** + * The name of the federation. This is also used for the JINI locator + * GROUPS. + * <p> + * Note: If you want to change this, then you also need to change the + * HAJournal-{ABC}.config, jiniClient.config, zkClient.config, and how + * you run the LookupStarter class to use the new federation name. + */ + static final protected String FEDNAME = "benchmark"; + + /** * Path to the config files. */ static final protected String SRC_PATH = "bigdata-jini/src/test/com/bigdata/journal/jini/ha/"; @@ -107,8 +117,8 @@ * Path to the directory in which the service directories exist. The * individual service directories are formed by adding the service name. */ - // static final protected String TGT_PATH = "/Volumes/SSDData/bigdata/benchmark/CI-HAJournal-1/"; - static final protected String TGT_PATH = "benchmark/CI-HAJournal-1/"; + // static final protected String TGT_PATH = "/Volumes/SSDData/bigdata/"+FEDNAME+"/CI-HAJournal-1/"; + static final protected String TGT_PATH = FEDNAME + "/CI-HAJournal-1/"; /** * The timeout used to await quorum meet or break. Modified: branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java =================================================================== --- branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java 2013-07-01 16:18:22 UTC (rev 7208) +++ branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java 2013-07-01 16:27:45 UTC (rev 7209) @@ -466,17 +466,29 @@ { final StringBuilder sb = new StringBuilder(); - + + /* + * FIXME test variants w/ and w/o embedded sub-select and verify the + * *order* is preserved when using the embedded subselect w/ its + * order by. Also, verify that we translate this by lifting out the + * sub-select since the top-level query is empty at thast point. + * + * Also, document this on the wiki. The sub-select is necessary because + * SPARQL does not allow solution modifiers on the top-level WHERE clause + * for INSERT/DELETE+WHERE. + */ sb.append("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"); sb.append("PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"); sb.append("PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n"); sb.append("INSERT INTO %namedSet1\n"); sb.append("SELECT ?x ?name\n"); + sb.append("WHERE { SELECT ?x ?name\n"); sb.append("WHERE {\n"); sb.append(" ?x rdf:type foaf:Person .\n"); sb.append(" ?x rdfs:label ?name .\n"); sb.append("}\n"); -// sb.append("ORDER BY ?name"); + sb.append("ORDER BY ?name\n"); + sb.append("}"); con.prepareUpdate(QueryLanguage.SPARQL, sb.toString()).execute(); Modified: branches/READ_CACHE/src/resources/HAJournal/HAJournal.config =================================================================== --- branches/READ_CACHE/src/resources/HAJournal/HAJournal.config 2013... [truncated message content] |
From: <tho...@us...> - 2013-07-05 12:20:43
|
Revision: 7214 http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev Author: thompsonbry Date: 2013-07-05 12:20:30 +0000 (Fri, 05 Jul 2013) Log Message: ----------- Merge from branches/BIGDATA_RELEASE_1_2_0 into branches/READ_CACHE. See https://sourceforge.net/apps/trac/bigdata/ticket/530 (Journal HA) @ r7213. {{{ merge https://bigdata.svn.sourceforge.net/svnroot/bigdata/branches/BIGDATA_RELEASE_1_2_0 /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH --- Merging r7173 through r7213 into /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/pom.xml U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/build.properties U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/test/com/bigdata/concurrent/TestLockManager.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/test/com/bigdata/service/TestAll_DynamicSharding.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/test/com/bigdata/service/TestSplitJoin.java A /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/test/com/bigdata/service/TestOverflowGRS.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/test/com/bigdata/journal/TestTx.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/java/com/bigdata/Banner.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/java/com/bigdata/sparse/AtomicRowFilter.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/java/com/bigdata/btree/ITuple.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/java/com/bigdata/counters/ICounterHierarchy.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/java/com/bigdata/BigdataStatics.java A /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/releases/RELEASE_1_2_3.txt U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata/src/samples/com/bigdata/samples/btree/ReadWriteIndexTxExample.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java --- Merging r7173 through r7213 into /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestMultiTenancyAPI.java --- Merging r7173 through r7213 into /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java C /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/BackgroundGraphResult.java C /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/BackgroundTupleResult.java --- Merging r7173 through r7213 into /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/AbstractRuleTestCase.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStoreWithoutInlining.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalQuadStore.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStoreWithoutStatementIdentifiers.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStore.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTHashJoinOptimizer.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTSparql11SubqueryOptimizer.java --- Merging r7173 through r7213 into /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/internal U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/test/com/bigdata/rdf/internal/encoder/AbstractBindingSetEncoderTestCase.java --- Merging r7173 through r7213 into /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/BackchainAccessPath.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/java/com/bigdata/rdf/store/LocalTripleStore.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/CBD.java U /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTEmptyGroupOptimizer.java Merge complete. ===== File Statistics: ===== Added: 2 Updated: 30 ==== Conflict Statistics: ===== File conflicts: 2 resolve --accept=theirs-full /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java Resolved conflicted state of /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java resolve --accept=working /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java Resolved conflicted state of /Users/bryan/Documents/workspace/READ_CACHE_CLEAN_FOR_PATCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java }}} Both conflicts were due to identical changes being made to both files. Those changes had to do with proper URL encoding of the bigdata namespace by the client and the server - See [1]. I ran through TestNanoSparqlServerWithProxyIndexManager since it was the REST API (client and server) where the conflicts appeared. I had one hang - see the stack trace below. I have never seen a hang in this test before. I re-ran the REST API test suite several times but I was not able to replicate the problem. I think that it was probably due to a heavily burdened laptop (airbook with a lot of applications open). {{{ "main" prio=5 tid=0x00007ffc51802000 nid=0x1c03 runnable [0x0000000107ba6000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:150) at java.net.SocketInputStream.read(SocketInputStream.java:121) at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149) at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:111) at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264) at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:282) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247) at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:216) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:647) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732) at com.bigdata.rdf.sail.webapp.client.RemoteRepository.doConnect(RemoteRepository.java:1389) at com.bigdata.rdf.sail.webapp.client.RemoteRepository$GraphQuery.evaluate(RemoteRepository.java:1024) at com.bigdata.rdf.sail.webapp.AbstractTestNanoSparqlClient.doConstructTest(AbstractTestNanoSparqlClient.java:1380) at com.bigdata.rdf.sail.webapp.TestNanoSparqlClient.test_GET_CONSTRUCT_TURTLE(TestNanoSparqlClient.java:1067) }}} [1] http://sourceforge.net/apps/trac/bigdata/ticket/689 (Missing URL encoding in RemoteRepositoryManager) Revision Links: -------------- http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7173&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7173&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7173&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7173&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7173&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7173&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev Modified Paths: -------------- branches/READ_CACHE/bigdata/src/java/com/bigdata/Banner.java branches/READ_CACHE/bigdata/src/java/com/bigdata/BigdataStatics.java branches/READ_CACHE/bigdata/src/java/com/bigdata/btree/ITuple.java branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/ICounterHierarchy.java branches/READ_CACHE/bigdata/src/java/com/bigdata/sparse/AtomicRowFilter.java branches/READ_CACHE/bigdata/src/samples/com/bigdata/samples/btree/ReadWriteIndexTxExample.java branches/READ_CACHE/bigdata/src/test/com/bigdata/concurrent/TestLockManager.java branches/READ_CACHE/bigdata/src/test/com/bigdata/journal/TestTx.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/TestAll_DynamicSharding.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/TestSplitJoin.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/rules/BackchainAccessPath.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/CBD.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTEmptyGroupOptimizer.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/store/LocalTripleStore.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/internal/encoder/AbstractBindingSetEncoderTestCase.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/rules/AbstractRuleTestCase.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTHashJoinOptimizer.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTSparql11SubqueryOptimizer.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalQuadStore.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStore.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStoreWithoutInlining.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStoreWithoutStatementIdentifiers.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/BackgroundGraphResult.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/BackgroundTupleResult.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestMultiTenancyAPI.java branches/READ_CACHE/build.properties branches/READ_CACHE/pom.xml Added Paths: ----------- branches/READ_CACHE/bigdata/src/releases/RELEASE_1_2_3.txt branches/READ_CACHE/bigdata/src/test/com/bigdata/service/TestOverflowGRS.java Property Changed: ---------------- branches/READ_CACHE/ branches/READ_CACHE/bigdata/lib/jetty/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/aggregate/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/joinGraph/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/util/ branches/READ_CACHE/bigdata/src/java/com/bigdata/htree/raba/ branches/READ_CACHE/bigdata/src/java/com/bigdata/jsr166/ branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/joinGraph/ branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/util/ branches/READ_CACHE/bigdata/src/test/com/bigdata/jsr166/ branches/READ_CACHE/bigdata/src/test/com/bigdata/util/httpd/ branches/READ_CACHE/bigdata-compatibility/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/attr/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/disco/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/util/config/ branches/READ_CACHE/bigdata-perf/ branches/READ_CACHE/bigdata-perf/btc/ branches/READ_CACHE/bigdata-perf/btc/src/resources/ branches/READ_CACHE/bigdata-perf/lubm/ branches/READ_CACHE/bigdata-perf/uniprot/ branches/READ_CACHE/bigdata-perf/uniprot/src/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/bop/rdf/aggregate/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/changesets/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/error/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/internal/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/relation/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/util/ branches/READ_CACHE/bigdata-rdf/src/samples/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/bop/rdf/aggregate/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/internal/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/relation/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/bench/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/changesets/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/bench/ branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/ branches/READ_CACHE/dsi-utils/ branches/READ_CACHE/dsi-utils/LEGAL/ branches/READ_CACHE/dsi-utils/lib/ branches/READ_CACHE/dsi-utils/src/ branches/READ_CACHE/dsi-utils/src/java/ branches/READ_CACHE/dsi-utils/src/java/it/ branches/READ_CACHE/dsi-utils/src/java/it/unimi/ branches/READ_CACHE/dsi-utils/src/test/ branches/READ_CACHE/dsi-utils/src/test/it/unimi/ branches/READ_CACHE/dsi-utils/src/test/it/unimi/dsi/ branches/READ_CACHE/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom/ branches/READ_CACHE/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom/ branches/READ_CACHE/osgi/ branches/READ_CACHE/src/resources/bin/config/ Property changes on: branches/READ_CACHE ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BIGDATA_OPENRDF_2_6_9_UPDATE:6769-6785 /branches/BIGDATA_RELEASE_1_2_0:6766-7173 /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/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-7213 /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/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 Property changes on: branches/READ_CACHE/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-7173 /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/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-7213 /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/RWSTORE_1_1_0_DEBUG/bigdata/lib/jetty:5896-5935 /branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/lib/jetty:4814-4836 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/Banner.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/Banner.java 2013-07-05 11:15:36 UTC (rev 7213) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/Banner.java 2013-07-05 12:20:30 UTC (rev 7214) @@ -369,7 +369,7 @@ "\n Affordable"+// "\n Web-Scale Computing for the Enterprise"+// "\n"+// - "\nCopyright SYSTAP, LLC 2006-2012. All rights reserved."+// + "\nCopyright SYSTAP, LLC 2006-2013. All rights reserved."+// "\n"+// "\n"+AbstractStatisticsCollector.fullyQualifiedHostName+// "\n"+new Date()+// @@ -377,6 +377,7 @@ + " " + SystemUtil.architecture() + // "\n"+SystemUtil.cpuInfo() + " #CPU="+SystemUtil.numProcessors() +// "\n"+System.getProperty("java.vendor")+" "+System.getProperty("java.version")+ + "\nfreeMemory="+Runtime.getRuntime().freeMemory()+// getBuildString()+ // Note: Will add its own newline if non-empty. "\n\n" ; Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/BigdataStatics.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/BigdataStatics.java 2013-07-05 11:15:36 UTC (rev 7213) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/BigdataStatics.java 2013-07-05 12:20:30 UTC (rev 7214) @@ -72,5 +72,13 @@ */ public static final boolean threadLocalBuffers = Boolean .getBoolean("com.bigdata.threadLocalBuffers"); + + /** + * Used to ignore tests in CI that are known to fail. This helps make CI + * green for people while still leaving us a trail for the tests that exist + * to mark problems that should be fixed at some point. + */ + public static final boolean runKnownBadTests = Boolean + .getBoolean("com.bigdata.runKnownBadTests"); } Property changes on: branches/READ_CACHE/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-7173 /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/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-7213 /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/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 Property changes on: branches/READ_CACHE/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-7173 /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/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-7213 /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/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 Property changes on: branches/READ_CACHE/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-7173 /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/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-7213 /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/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 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/btree/ITuple.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/btree/ITuple.java 2013-07-05 11:15:36 UTC (rev 7213) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/btree/ITuple.java 2013-07-05 12:20:30 UTC (rev 7214) @@ -88,6 +88,9 @@ * * @throws IllegalStateException * if nothing has been visited. + * + * @see <a href="http://sourceforge.net/apps/trac/bigdata/ticket/682"> + * AtomicRowFilter UnsupportedOperationException </a> */ public int getSourceIndex(); Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java 2013-07-05 11:15:36 UTC (rev 7213) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/AbstractStatisticsCollector.java 2013-07-05 12:20:30 UTC (rev 7214) @@ -31,6 +31,8 @@ import java.io.IOException; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; +import java.lang.management.MemoryPoolMXBean; +import java.lang.management.MemoryUsage; import java.net.InetAddress; import java.util.Arrays; import java.util.Enumeration; @@ -318,6 +320,11 @@ .addGarbageCollectorMXBeanCounters(serviceRoot .makePath(ICounterHierarchy.Memory_GarbageCollectors)); + // add counters for memory pools. + AbstractStatisticsCollector + .addMemoryPoolMXBeanCounters(serviceRoot + .makePath(ICounterHierarchy.Memory_Memory_Pools)); + /* * Add counters reporting on the various DirectBufferPools. */ @@ -479,7 +486,100 @@ } + /** + * Adds/updates counters relating to JVM Memory Pools. These counters + * should be located within a per-service path. + * + * @param counterSet + * The counters set that is the direct parent. + */ + static public void addMemoryPoolMXBeanCounters( + final CounterSet counterSet) { + + final String name_pool = "Memory Pool"; + + final String name_max = "Maximum Usage"; + + final String name_used = "Current Usage"; + + synchronized (counterSet) { + + final List<MemoryPoolMXBean> list = ManagementFactory + .getMemoryPoolMXBeans(); + + for (final MemoryPoolMXBean bean : list) { + + final String name = bean.getName(); + + // counter set for this GC bean (may be pre-existing). + final CounterSet tmp = counterSet.makePath(name); + + synchronized (tmp) { + + // memory pool names. + { + if (tmp.getChild(name_pool) == null) { + + tmp.addCounter(name_pool, + new Instrument<String>() { + + @Override + protected void sample() { + + setValue(bean.getName()); + + } + + }); + + } + + } + + // usage (max). + { + if (tmp.getChild(name_max) == null) { + tmp.addCounter(name_max, new Instrument<Long>() { + + @Override + protected void sample() { + + final MemoryUsage u = bean.getUsage(); + + setValue(u.getMax()); + + } + }); + } + } + + // usage (current) + { + if (tmp.getChild(name_used) == null) { + tmp.addCounter(name_used, new Instrument<Long>() { + + @Override + protected void sample() { + + final MemoryUsage u = bean.getUsage(); + + setValue(u.getUsed()); + + } + }); + } + } + + } + + } + + } + + } + + /** * Start collecting host performance data -- must be extended by the * concrete subclass. */ @@ -706,8 +806,12 @@ final AbstractStatisticsCollector client = AbstractStatisticsCollector .newInstance( properties ); + final CounterSet counterSet = client.getCounters(); + + counterSet.attach(getMemoryCounterSet()); + // write counters before we start the client - System.out.println(client.getCounters().toString()); + System.out.println(counterSet.toString()); System.err.println("Starting performance counter collection: interval=" + client.interval + ", count=" + count); Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/ICounterHierarchy.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/ICounterHierarchy.java 2013-07-05 11:15:36 UTC (rev 7213) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/counters/ICounterHierarchy.java 2013-07-05 12:20:30 UTC (rev 7214) @@ -67,6 +67,12 @@ String Memory_GarbageCollectors = Memory + ps + "Garbage Collectors"; /** + * The namespace for counters identifying the different memory pools + * associated with the JVM. + */ + String Memory_Memory_Pools = Memory + ps + "Memory Pools"; + + /** * The namespace for counters dealing with logical aggregations of disk. */ String LogicalDisk = "LogicalDisk"; Property changes on: branches/READ_CACHE/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-7173 /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/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-7213 /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/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 Property changes on: branches/READ_CACHE/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-7173 /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/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-7213 /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/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 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/sparse/AtomicRowFilter.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/sparse/AtomicRowFilter.java 2013-07-05 11:15:36 UTC (rev 7213) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/sparse/AtomicRowFilter.java 2013-07-05 12:20:30 UTC (rev 7214) @@ -209,10 +209,21 @@ * blob reference. In order to allow blobs to be stored in * a different index the name of the scale out index would * have to be in the blob reference. + * + * @see <a + * href="http://sourceforge.net/apps/trac/bigdata/ticket/682"> + * AtomicRowFilter UnsupportedOperationException </a> */ + public int getSourceIndex() { - throw new UnsupportedOperationException(); + /* + * TODO Returning ZERO (0) fixes the ticket cited above but + * does not provide support for asynchronous resolution of + * BLOBS in the sparse row store. + */ + return 0; +// throw new UnsupportedOperationException(); } Copied: branches/READ_CACHE/bigdata/src/releases/RELEASE_1_2_3.txt (from rev 7213, branches/BIGDATA_RELEASE_1_2_0/bigdata/src/releases/RELEASE_1_2_3.txt) =================================================================== --- branches/READ_CACHE/bigdata/src/releases/RELEASE_1_2_3.txt (rev 0) +++ branches/READ_CACHE/bigdata/src/releases/RELEASE_1_2_3.txt 2013-07-05 12:20:30 UTC (rev 7214) @@ -0,0 +1,295 @@ +This is a minor release of bigdata(R). + +Bigdata is a horizontally-scaled, open-source architecture for indexed data with an emphasis on RDF capable of loading 1B triples in under one hour on a 15 node cluster. Bigdata operates in both a single machine mode (Journal) and a cluster mode (Federation). The Journal provides fast scalable ACID indexed storage for very large data sets, up to 50 billion triples / quads. The federation provides fast scalable shard-wise parallel indexed storage using dynamic sharding and shard-wise ACID updates and incremental cluster size growth. Both platforms support fully concurrent readers with snapshot isolation. + +Distributed processing offers greater throughput but does not reduce query or update latency. Choose the Journal when the anticipated scale and throughput requirements permit. Choose the Federation when the administrative and machine overhead associated with operating a cluster is an acceptable tradeoff to have essentially unlimited data scaling and throughput. + +See [1,2,8] for instructions on installing bigdata(R), [4] for the javadoc, and [3,5,6] for news, questions, and the latest developments. For more information about SYSTAP, LLC and bigdata, see [7]. + +Starting with the 1.0.0 release, we offer a WAR artifact [8] for easy installation of the single machine RDF database. For custom development and cluster installations we recommend checking out the code from SVN using the tag for this release. The code will build automatically under eclipse. You can also build the code using the ant script. The cluster installer requires the use of the ant script. + +You can download the WAR from: + +http://sourceforge.net/projects/bigdata/ + +You can checkout this release from: + +https://bigdata.svn.sourceforge.net/svnroot/bigdata/tags/BIGDATA_RELEASE_1_2_3 + +New features: + +- SPARQL 1.1 Update Extensions (SPARQL UPDATE for named solution sets). See https://sourceforge.net/apps/mediawiki/bigdata/index.php?title=SPARQL_Update for more information. +- SPARQL 1.1 Property Paths. +- Remote Java client for Multi-Tenancy extensions NanoSparqlServer +- Sesame 2.6.10 dependency +- Plus numerous other bug fixes and performance enhancements. + +Feature summary: + +- Single machine data storage to ~50B triples/quads (RWStore); +- Clustered data storage is essentially unlimited; +- Simple embedded and/or webapp deployment (NanoSparqlServer); +- Triples, quads, or triples with provenance (SIDs); +- Fast RDFS+ inference and truth maintenance; +- Fast 100% native SPARQL 1.1 evaluation; +- Integrated "analytic" query package; +- %100 Java memory manager leverages the JVM native heap (no GC); + +Road map [3]: + +- High availability for the journal and the cluster. +- Runtime Query Optimizer for Analytic Query mode; and +- Simplified deployment, configuration, and administration for clusters. + +Change log: + + Note: Versions with (*) MAY require data migration. For details, see [9]. + +1.2.3: + +- http://sourceforge.net/apps/trac/bigdata/ticket/168 (Maven Build) +- http://sourceforge.net/apps/trac/bigdata/ticket/196 (Journal leaks memory). +- http://sourceforge.net/apps/trac/bigdata/ticket/235 (Occasional deadlock in CI runs in com.bigdata.io.writecache.TestAll) +- http://sourceforge.net/apps/trac/bigdata/ticket/312 (CI (mock) quorums deadlock) +- http://sourceforge.net/apps/trac/bigdata/ticket/405 (Optimize hash join for subgroups with no incoming bound vars.) +- http://sourceforge.net/apps/trac/bigdata/ticket/412 (StaticAnalysis#getDefinitelyBound() ignores exogenous variables.) +- http://sourceforge.net/apps/trac/bigdata/ticket/485 (RDFS Plus Profile) +- http://sourceforge.net/apps/trac/bigdata/ticket/495 (SPARQL 1.1 Property Paths) +- http://sourceforge.net/apps/trac/bigdata/ticket/519 (Negative parser tests) +- http://sourceforge.net/apps/trac/bigdata/ticket/531 (SPARQL UPDATE for SOLUTION SETS) +- http://sourceforge.net/apps/trac/bigdata/ticket/535 (Optimize JOIN VARS for Sub-Selects) +- http://sourceforge.net/apps/trac/bigdata/ticket/555 (Support PSOutputStream/InputStream at IRawStore) +- http://sourceforge.net/apps/trac/bigdata/ticket/559 (Use RDFFormat.NQUADS as the format identifier for the NQuads parser) +- http://sourceforge.net/apps/trac/bigdata/ticket/570 (MemoryManager Journal does not implement all methods). +- http://sourceforge.net/apps/trac/bigdata/ticket/575 (NSS Admin API) +- http://sourceforge.net/apps/trac/bigdata/ticket/577 (DESCRIBE with OFFSET/LIMIT needs to use sub-select) +- http://sourceforge.net/apps/trac/bigdata/ticket/578 (Concise Bounded Description (CBD)) +- http://sourceforge.net/apps/trac/bigdata/ticket/579 (CONSTRUCT should use distinct SPO filter) +- http://sourceforge.net/apps/trac/bigdata/ticket/583 (VoID in ServiceDescription) +- http://sourceforge.net/apps/trac/bigdata/ticket/586 (RWStore immedateFree() not removing Checkpoint addresses from the historical index cache.) +- http://sourceforge.net/apps/trac/bigdata/ticket/590 (nxparser fails with uppercase language tag) +- http://sourceforge.net/apps/trac/bigdata/ticket/592 (Optimize RWStore allocator sizes) +- http://sourceforge.net/apps/trac/bigdata/ticket/593 (Ugrade to Sesame 2.6.10) +- http://sourceforge.net/apps/trac/bigdata/ticket/594 (WAR was deployed using TRIPLES rather than QUADS by default) +- http://sourceforge.net/apps/trac/bigdata/ticket/596 (Change web.xml parameter names to be consistent with Jini/River) +- http://sourceforge.net/apps/trac/bigdata/ticket/597 (SPARQL UPDATE LISTENER) +- http://sourceforge.net/apps/trac/bigdata/ticket/598 (B+Tree branching factor and HTree addressBits are confused in their NodeSerializer implementations) +- http://sourceforge.net/apps/trac/bigdata/ticket/599 (BlobIV for blank node : NotMaterializedException) +- http://sourceforge.net/apps/trac/bigdata/ticket/600 (BlobIV collision counter hits false limit.) +- http://sourceforge.net/apps/trac/bigdata/ticket/601 (Log uncaught exceptions) +- http://sourceforge.net/apps/trac/bigdata/ticket/602 (RWStore does not discard logged deletes on reset()) +- http://sourceforge.net/apps/trac/bigdata/ticket/607 (History service / index) +- http://sourceforge.net/apps/trac/bigdata/ticket/608 (LOG BlockingBuffer not progressing at INFO or lower level) +- http://sourceforge.net/apps/trac/bigdata/ticket/609 (bigdata-ganglia is required dependency for Journal) +- http://sourceforge.net/apps/trac/bigdata/ticket/611 (The code that processes SPARQL Update has a typo) +- http://sourceforge.net/apps/trac/bigdata/ticket/612 (Bigdata scale-up depends on zookeper) +- http://sourceforge.net/apps/trac/bigdata/ticket/613 (SPARQL UPDATE response inlines large DELETE or INSERT triple graphs) +- http://sourceforge.net/apps/trac/bigdata/ticket/614 (static join optimizer does not get ordering right when multiple tails share vars with ancestry) +- http://sourceforge.net/apps/trac/bigdata/ticket/615 (AST2BOpUtility wraps UNION with an unnecessary hash join) +- http://sourceforge.net/apps/trac/bigdata/ticket/616 (Row store read/update not isolated on Journal) +- http://sourceforge.net/apps/trac/bigdata/ticket/617 (Concurrent KB create fails with "No axioms defined?") +- http://sourceforge.net/apps/trac/bigdata/ticket/618 (DirectBufferPool.poolCapacity maximum of 2GB) +- http://sourceforge.net/apps/trac/bigdata/ticket/619 (RemoteRepository class should use application/x-www-form-urlencoded for large POST requests) +- http://sourceforge.net/apps/trac/bigdata/ticket/620 (UpdateServlet fails to parse MIMEType when doing conneg.) +- http://sourceforge.net/apps/trac/bigdata/ticket/626 (Expose performance counters for read-only indices) +- http://sourceforge.net/apps/trac/bigdata/ticket/627 (Environment variable override for NSS properties file) +- http://sourceforge.net/apps/trac/bigdata/ticket/628 (Create a bigdata-client jar for the NSS REST API) +- http://sourceforge.net/apps/trac/bigdata/ticket/631 (ClassCastException in SIDs mode query) +- http://sourceforge.net/apps/trac/bigdata/ticket/632 (NotMaterializedException when a SERVICE call needs variables that are provided as query input bindings) +- http://sourceforge.net/apps/trac/bigdata/ticket/633 (ClassCastException when binding non-uri values to a variable that occurs in predicate position) +- http://sourceforge.net/apps/trac/bigdata/ticket/638 (Change DEFAULT_MIN_RELEASE_AGE to 1ms) +- http://sourceforge.net/apps/trac/bigdata/ticket/640 (Conditionally rollback() BigdataSailConnection if dirty) +- http://sourceforge.net/apps/trac/bigdata/ticket/642 (Property paths do not work inside of exists/not exists filters) +- http://sourceforge.net/apps/trac/bigdata/ticket/643 (Add web.xml parameters to lock down public NSS end points) +- http://sourceforge.net/apps/trac/bigdata/ticket/644 (Bigdata2Sesame2BindingSetIterator can fail to notice asynchronous close()) +- http://sourceforge.net/apps/trac/bigdata/ticket/650 (Can not POST RDF to a graph using REST API) +- http://sourceforge.net/apps/trac/bigdata/ticket/654 (Rare AssertionError in WriteCache.clearAddrMap()) +- http://sourceforge.net/apps/trac/bigdata/ticket/655 (SPARQL REGEX operator does not perform case-folding correctly for Unicode data) +- http://sourceforge.net/apps/trac/bigdata/ticket/656 (InFactory bug when IN args consist of a single literal) +- http://sourceforge.net/apps/trac/bigdata/ticket/647 (SIDs mode creates unnecessary hash join for GRAPH group patterns) +- http://sourceforge.net/apps/trac/bigdata/ticket/667 (Provide NanoSparqlServer initialization hook) +- http://sourceforge.net/apps/trac/bigdata/ticket/669 (Doubly nested subqueries yield no results with LIMIT) +- http://sourceforge.net/apps/trac/bigdata/ticket/675 (Flush indices in parallel during checkpoint to reduce IO latency) +- http://sourceforge.net/apps/trac/bigdata/ticket/682 (AtomicRowFilter UnsupportedOperationException) + +1.2.2: + +- http://sourceforge.net/apps/trac/bigdata/ticket/586 (RWStore immedateFree() not removing Checkpoint addresses from the historical index cache.) +- http://sourceforge.net/apps/trac/bigdata/ticket/602 (RWStore does not discard logged deletes on reset()) +- http://sourceforge.net/apps/trac/bigdata/ticket/603 (Prepare critical maintenance release as branch of 1.2.1) + +1.2.1: + +- http://sourceforge.net/apps/trac/bigdata/ticket/533 (Review materialization for inline IVs) +- http://sourceforge.net/apps/trac/bigdata/ticket/539 (NotMaterializedException with REGEX and Vocab) +- http://sourceforge.net/apps/trac/bigdata/ticket/540 (SPARQL UPDATE using NSS via index.html) +- http://sourceforge.net/apps/trac/bigdata/ticket/541 (MemoryManaged backed Journal mode) +- http://sourceforge.net/apps/trac/bigdata/ticket/546 (Index cache for Journal) +- http://sourceforge.net/apps/trac/bigdata/ticket/549 (BTree can not be cast to Name2Addr (MemStore recycler)) +- http://sourceforge.net/apps/trac/bigdata/ticket/550 (NPE in Leaf.getKey() : root cause was user error) +- http://sourceforge.net/apps/trac/bigdata/ticket/558 (SPARQL INSERT not working in same request after INSERT DATA) +- http://sourceforge.net/apps/trac/bigdata/ticket/562 (Sub-select in INSERT cause NPE in UpdateExprBuilder) +- http://sourceforge.net/apps/trac/bigdata/ticket/563 (DISTINCT ORDER BY) +- http://sourceforge.net/apps/trac/bigdata/ticket/567 (Failure to set cached value on IV results in incorrect behavior for complex UPDATE operation) +- http://sourceforge.net/apps/trac/bigdata/ticket/568 (DELETE WHERE fails with Java AssertionError) +- http://sourceforge.net/apps/trac/bigdata/ticket/569 (LOAD-CREATE-LOAD using virgin journal fails with "Graph exists" exception) +- http://sourceforge.net/apps/trac/bigdata/ticket/571 (DELETE/INSERT WHERE handling of blank nodes) +- http://sourceforge.net/apps/trac/bigdata/ticket/573 (NullPointerException when attempting to INSERT DATA containing a blank node) + +1.2.0: (*) + +- http://sourceforge.net/apps/trac/bigdata/ticket/92 (Monitoring webapp) +- http://sourceforge.net/apps/trac/bigdata/ticket/267 (Support evaluation of 3rd party operators) +- http://sourceforge.net/apps/trac/bigdata/ticket/337 (Compact and efficient movement of binding sets between nodes.) +- http://sourceforge.net/apps/trac/bigdata/ticket/433 (Cluster leaks threads under read-only index operations: DGC thread leak) +- http://sourceforge.net/apps/trac/bigdata/ticket/437 (Thread-local cache combined with unbounded thread pools causes effective memory leak: termCache memory leak & thread-local buffers) +- http://sourceforge.net/apps/trac/bigdata/ticket/438 (KeyBeforePartitionException on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/439 (Class loader problem) +- http://sourceforge.net/apps/trac/bigdata/ticket/441 (Ganglia integration) +- http://sourceforge.net/apps/trac/bigdata/ticket/443 (Logger for RWStore transaction service and recycler) +- http://sourceforge.net/apps/trac/bigdata/ticket/444 (SPARQL query can fail to notice when IRunningQuery.isDone() on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/445 (RWStore does not track tx release correctly) +- http://sourceforge.net/apps/trac/bigdata/ticket/446 (HTTP Repostory broken with bigdata 1.1.0) +- http://sourceforge.net/apps/trac/bigdata/ticket/448 (SPARQL 1.1 UPDATE) +- http://sourceforge.net/apps/trac/bigdata/ticket/449 (SPARQL 1.1 Federation extension) +- http://sourceforge.net/apps/trac/bigdata/ticket/451 (Serialization error in SIDs mode on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/454 (Global Row Store Read on Cluster uses Tx) +- http://sourceforge.net/apps/trac/bigdata/ticket/456 (IExtension implementations do point lookups on lexicon) +- http://sourceforge.net/apps/trac/bigdata/ticket/457 ("No such index" on cluster under concurrent query workload) +- http://sourceforge.net/apps/trac/bigdata/ticket/458 (Java level deadlock in DS) +- http://sourceforge.net/apps/trac/bigdata/ticket/460 (Uncaught interrupt resolving RDF terms) +- http://sourceforge.net/apps/trac/bigdata/ticket/461 (KeyAfterPartitionException / KeyBeforePartitionException on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/463 (NoSuchVocabularyItem with LUBMVocabulary for DerivedNumericsExtension) +- http://sourceforge.net/apps/trac/bigdata/ticket/464 (Query statistics do not update correctly on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/465 (Too many GRS reads on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/469 (Sail does not flush assertion buffers before query) +- http://sourceforge.net/apps/trac/bigdata/ticket/472 (acceptTaskService pool size on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/475 (Optimize serialization for query messages on cluster) +- http://sourceforge.net/apps/trac/bigdata/ticket/476 (Test suite for writeCheckpoint() and recycling for BTree/HTree) +- http://sourceforge.net/apps/trac/bigdata/ticket/478 (Cluster does not map input solution(s) across shards) +- http://sourceforge.net/apps/trac/bigdata/ticket/480 (Error releasing deferred frees using 1.0.6 against a 1.0.4 journal) +- http://sourceforge.net/apps/trac/bigdata/ticket/481 (PhysicalAddressResolutionException against 1.0.6) +- http://sourceforge.net/apps/trac/bigdata/ticket/482 (RWStore reset() should be thread-safe for concurrent readers) +- http://sourceforge.net/apps/trac/bigdata/ticket/484 (Java API for NanoSparqlServer REST API) +- http://sourceforge.net/apps/trac/bigdata/ticket/491 (AbstractTripleStore.destroy() does not clear the locator cache) +- http://sourceforge.net/apps/trac/bigdata/ticket/492 (Empty chunk in ThickChunkMessage (cluster)) +- http://sourceforge.net/apps/trac/bigdata/ticket/493 (Virtual Graphs) +- http://sourceforge.net/apps/trac/bigdata/ticket/496 (Sesame 2.6.3) +- http://sourceforge.net/apps/trac/bigdata/ticket/497 (Implement STRBEFORE, STRAFTER, and REPLACE) +- http://sourceforge.net/apps/trac/bigdata/ticket/498 (Bring bigdata RDF/XML parser up to openrdf 2.6.3.) +- http://sourceforge.net/apps/trac/bigdata/ticket/500 (SPARQL 1.1 Service Description) +- http://www.openrdf.org/issues/browse/SES-884 (Aggregation with an solution set as input should produce an empty solution as output) +- http://www.openrdf.org/issues/browse/SES-862 (Incorrect error handling for SPARQL aggregation; fix in 2.6.1) +- http://www.openrdf.org/issues/browse/SES-873 (Order the same Blank Nodes together in ORDER BY) +- http://sourceforge.net/apps/trac/bigdata/ticket/501 (SPARQL 1.1 BINDINGS are ignored) +- http://sourceforge.net/apps/trac/bigdata/ticket/503 (Bigdata2Sesame2BindingSetIterator throws QueryEvaluationException were it should throw NoSuchElementException) +- http://sourceforge.net/apps/trac/bigdata/ticket/504 (UNION with Empty Group Pattern) +- http://sourceforge.net/apps/trac/bigdata/ticket/505 (Exception when using SPARQL sort & statement identifiers) +- http://sourceforge.net/apps/trac/bigdata/ticket/506 (Load, closure and query performance in 1.1.x versus 1.0.x) +- http://sourceforge.net/apps/trac/bigdata/ticket/508 (LIMIT causes hash join utility to log errors) +- http://sourceforge.net/apps/trac/bigdata/ticket/513 (Expose the LexiconConfiguration to Function BOPs) +- http://sourceforge.net/apps/trac/bigdata/ticket/515 (Query with two "FILTER NOT EXISTS" expressions returns no results) +- http://sourceforge.net/apps/trac/bigdata/ticket/516 (REGEXBOp should cache the Pattern when it is a constant) +- http://sourceforge.net/apps/trac/bigdata/ticket/517 (Java 7 Compiler Compatibility) +- http://sourceforge.net/apps/trac/bigdata/ticket/518 (Review function bop subclass hierarchy, optimize datatype bop, etc.) +- http://sourceforge.net/apps/trac/bigdata/ticket/520 (CONSTRUCT WHERE shortcut) +- http://sourceforge.net/apps/trac/bigdata/ticket/521 (Incremental materialization of Tuple and Graph query results) +- http://sourceforge.net/apps/trac/bigdata/ticket/525 (Modify the IChangeLog interface to support multiple agents) +- http://sourceforge.net/apps/trac/bigdata/ticket/527 (Expose timestamp of LexiconRelation to function bops) +- http://sourceforge.net/apps/trac/bigdata/ticket/532 (ClassCastException during hash join (can not be cast to TermId)) +- http://sourceforge.net/apps/trac/bigdata/ticket/533 (Review materialization for inline IVs) +- http://sourceforge.net/apps/trac/bigdata/ticket/534 (BSBM BI Q5 error using MERGE JOIN) + +1.1.0 (*) + + - http://sourceforge.net/apps/trac/bigdata/ticket/23 (Lexicon joins) + - http://sourceforge.net/apps/trac/bigdata/ticket/109 (Store large literals as "blobs") + - http://sourceforge.net/apps/trac/bigdata/ticket/181 (Scale-out LUBM "how to" in wiki and build.xml are out of date.) + - http://sourceforge.net/apps/trac/bigdata/ticket/203 (Implement an persistence capable hash table to support analytic query) + - http://sourceforge.net/apps/trac/bigdata/ticket/209 (AccessPath should visit binding sets rather than elements for high level query.) + - http://sourceforge.net/apps/trac/bigdata/ticket/227 (SliceOp appears to be necessary when operator plan should suffice without) + - http://sourceforge.net/apps/trac/bigdata/ticket/232 (Bottom-up evaluation semantics). + - http://sourceforge.net/apps/trac/bigdata/ticket/246 (Derived xsd numeric data types must be inlined as extension types.) + - http://sourceforge.net/apps/trac/bigdata/ticket/254 (Revisit pruning of intermediate variable bindings during query execution) + - http://sourceforge.net/apps/trac/bigdata/ticket/261 (Lift conditions out of subqueries.) + - http://sourceforge.net/apps/trac/bigdata/ticket/300 (Native ORDER BY) + - http://sourceforge.net/apps/trac/bigdata/ticket/324 (Inline predeclared URIs and namespaces in 2-3 bytes) + - http://sourceforge.net/apps/trac/bigdata/ticket/330 (NanoSparqlServer does not locate "html" resources when run from jar) + - http://sourceforge.net/apps/trac/bigdata/ticket/334 (Support inlining of unicode data in the statement indices.) + - http://sourceforge.net/apps/trac/bigdata/ticket/364 (Scalable default graph evaluation) + - http://sourceforge.net/apps/trac/bigdata/ticket/368 (Prune variable bindings during query evaluation) + - http://sourceforge.net/apps/trac/bigdata/ticket/370 (Direct translation of openrdf AST to bigdata AST) + - http://sourceforge.net/apps/trac/bigdata/ticket/373 (Fix StrBOp and other IValueExpressions) + - http://sourceforge.net/apps/trac/bigdata/ticket/377 (Optimize OPTIONALs with multiple statement patterns.) + - http://sourceforge.net/apps/trac/bigdata/ticket/380 (Native SPARQL evaluation on cluster) + - http://sourceforge.net/apps/trac/bigdata/ticket/387 (Cluster does not compute closure) + - http://sourceforge.net/apps/trac/bigdata/ticket/395 (HTree hash join performance) + - http://sourceforge.net/apps/trac/bigdata/ticket/401 (inline xsd:unsigned datatypes) + - http://sourceforge.net/apps/trac/bigdata/ticket/408 (xsd:string cast fails for non-numeric data) + - http://sourceforge.net/apps/trac/bigdata/ticket/421 (New query hints model.) + - http://sourceforge.net/apps/trac/bigdata/ticket/431 (Use of read-only tx per query defeats cache on cluster) + +1.0.3 + + - http://sourceforge.net/apps/trac/bigdata/ticket/217 (BTreeCounters does not track bytes released) + - http://sourceforge.net/apps/trac/bigdata/ticket/269 (Refactor performance counters using accessor interface) + - http://sourceforge.net/apps/trac/bigdata/ticket/329 (B+Tree should delete bloom filter when it is disabled.) + - http://sourceforge.net/apps/trac/bigdata/ticket/372 (RWStore does not prune the CommitRecordIndex) + - http://sourceforge.net/apps/trac/bigdata/ticket/375 (Persistent memory leaks (RWStore/DISK)) + - http://sourceforge.net/apps/trac/bigdata/ticket/385 (FastRDFValueCoder2: ArrayIndexOutOfBoundsException) + - http://sourceforge.net/apps/trac/bigdata/ticket/391 (Release age advanced on WORM mode journal) + - http://sourceforge.net/apps/trac/bigdata/ticket/392 (Add a DELETE by access path method to the NanoSparqlServer) + - http://sourceforge.net/apps/trac/bigdata/ticket/393 (Add "context-uri" request parameter to specify the default context for INSERT in the REST API) + - http://sourceforge.net/apps/trac/bigdata/ticket/394 (log4j configuration error message in WAR deployment) + - http://sourceforge.net/apps/trac/bigdata/ticket/399 (Add a fast range count method to the REST API) + - http://sourceforge.net/apps/trac/bigdata/ticket/422 (Support temp triple store wrapped by a BigdataSail) + - http://sourceforge.net/apps/trac/bigdata/ticket/424 (NQuads support for NanoSparqlServer) + - http://sourceforge.net/apps/trac/bigdata/ticket/425 (Bug fix to DEFAULT_RDF_FORMAT for bulk data loader in scale-out) + - http://sourceforge.net/apps/trac/bigdata/ticket/426 (Support either lockfile (procmail) and dotlockfile (liblockfile1) in scale-out) + - http://sourceforge.net/apps/trac/bigdata/ticket/427 (BigdataSail#getReadOnlyConnection() race condition with concurrent commit) + - http://sourceforge.net/apps/trac/bigdata/ticket/435 (Address is 0L) + - http://sourceforge.net/apps/trac/bigdata/ticket/436 (TestMROWTransactions failure in CI) + +1.0.2 + + - http://sourceforge.net/apps/trac/bigdata/ticket/32 (Query time expansion of (foo rdf:type rdfs:Resource) drags in SPORelation for scale-out.) + - http://sourceforge.net/apps/trac/bigdata/ticket/181 (Scale-out LUBM "how to" in wiki and build.xml are out of date.) + - http://sourceforge.net/apps/trac/bigdata/ticket/356 (Query not terminated by error.) + - http://sourceforge.net/apps/trac/bigdata/ticket/359 (NamedGraph pattern fails to bind graph variable if only one binding exists.) + - http://sourceforge.net/apps/trac/bigdata/ticket/361 (IRunningQuery not closed promptly.) + - http://sourceforge.net/apps/trac/bigdata/ticket/371 (DataLoader fails to load resources available from the classpath.) + - http://sourceforge.net/apps/trac/bigdata/ticket/376 (Support for the streaming of bigdata IBindingSets into a sparql query.) + - http://sourceforge.net/apps/trac/bigdata/ticket/378 (ClosedByInterruptException during heavy query mix.) + - http://sourceforge.net/apps/trac/bigdata/ticket/379 (NotSerializableException for SPOAccessPath.) + - http://sourceforge.net/apps/trac/bigdata/ticket/382 (Change dependencies to Apache River 2.2.0) + +1.0.1 (*) + + - http://sourceforge.net/apps/trac... [truncated message content] |
From: <tho...@us...> - 2013-08-09 12:34:51
|
Revision: 7271 http://bigdata.svn.sourceforge.net/bigdata/?rev=7271&view=rev Author: thompsonbry Date: 2013-08-09 12:34:38 +0000 (Fri, 09 Aug 2013) Log Message: ----------- Merge changes in the 1.2.x maintenance branch into the READ_CACHE branch. This catches up the HA branch with the ongoing development and maintenance of the 1.2.x release. @ r7270. Merging r7213 through r7270 from branches/BIGDATA_RELEASE_1_2_0 into branches/BIGDATA_READ_CACHE {{{ merge --depth=infinity https://bigdata.svn.sourceforge.net/svnroot/bigdata/branches/BIGDATA_RELEASE_1_2_0 /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE --- Merging r7213 through r7270 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/jsk-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/outrigger-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/fiddler-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/phoenix-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/norm-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/group-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/mahalo-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/reggie-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/browser-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/sdm-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-dl/mercury-dl.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib-ext/jsk-policy.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/preferredlistgen.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/outrigger.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/sharedvm.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/phoenix.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/phoenix-init.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/norm.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/browser.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/computehttpmdcodebase.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/mercury.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/envcheck.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/jini-ext.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/checkser.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/destroy.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/jsk-lib.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/group.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/classserver.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/classdep.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/tools.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/mahalo.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/phoenix-group.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/checkconfigurationfile.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/jsk-debug-policy.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/fiddler.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/jsk-platform.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/computedigest.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/jarwrapper.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/jini-core.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/sun-util.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/extra.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/outrigger-snaplogstore.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/start.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/serviceui.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/jsk-resources.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/lib/jini/lib/reggie.jar C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/service/jini/master/ResourceBufferTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/service/jini/master/MappedTaskMaster.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/AbstractKeyRangeMasterTestCase.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskIdleTimeout.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskWithErrors.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskWithSplits.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/AbstractMasterTestCase.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskWithRedirect.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestFileSystemScanner.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/StressTestConcurrent.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/service/TestRangeQuery.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/relation/accesspath/TestBlockingBuffer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/relation/accesspath/TestBlockingBufferWithChunks.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/concurrent/FutureTaskMon.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/ChunkedRunningQuery.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/proxy/ClientAsynchronousIterator.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/ClientIndexView.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/AbstractMasterTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/IndexWriteTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/AbstractScaleOutClientIndexView.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/rule/eval/ProgramTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/BlockingBuffer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/MultiSourceSequentialCloseableIterator.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/IBlockingBuffer.java A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/ticket693.txt U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataConnectionTest.java A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/property_paths.owl A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/TestTicket693.java --- Merging r7213 through r7270 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlClient2.java A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlServerWithProxyIndexManager2.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlClient.java A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll2.java --- Merging r7213 through r7270 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithoutSids.java --- Merging r7213 through r7270 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedQuery.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/ConnectOptions.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepository.java --- Merging r7213 through r7270 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.srx A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.ttl A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.rq A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-02.rq U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestOptionals.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTStaticJoinOptimizer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/store/TripleStoreUtility.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/PropertyPathNode.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/DGExpander.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/RemoteServiceCallImpl.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ArbitraryLengthPathNode.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IReorderableNode.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/JoinGroupNode.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTStaticJoinOptimizer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTEmptyGroupOptimizer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTComplexOptionalOptimizer.java A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/StaticOptimizer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/UnionNode.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StatementPatternNode.java Merge complete. ===== File Statistics: ===== Added: 11 Updated: 52 ==== Conflict Statistics: ===== File conflicts: 47 }}} All conflicts were resolved. Out of 47 conflicts, all but one were JAR conflicts. All of the JAR conflicts are edits that were backported to the 1.2.x maintenance branch from the READ_CACHE branch. The same jars are currently in both branches. To simplify things, I have accepted the existing jars in the READ_CACHE branch. In addition, there were some conflicts in AbstractHAJournalServerTestCase.java that arose from the recent changes in the 1.2.x branch to allow the caller to set the various HTTP header fields for the RemoteRepository. The HA test suite reuses the ConnectOpts class and parallel edits were made in AbstractHAJournalServerTestCase.java to support this. See https://sourceforge.net/apps/trac/bigdata/ticket/530 (Journal HA) Revision Links: -------------- http://bigdata.svn.sourceforge.net/bigdata/?rev=7270&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7270&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7270&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7270&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7270&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7270&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7213&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7270&view=rev Modified Paths: -------------- branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/ChunkedRunningQuery.java branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java branches/READ_CACHE/bigdata/src/java/com/bigdata/concurrent/FutureTaskMon.java branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/BlockingBuffer.java branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/IBlockingBuffer.java branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/MultiSourceSequentialCloseableIterator.java branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/rule/eval/ProgramTask.java branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/AbstractScaleOutClientIndexView.java branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/ClientIndexView.java branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/AbstractMasterTask.java branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/IndexWriteTask.java branches/READ_CACHE/bigdata/src/java/com/bigdata/service/proxy/ClientAsynchronousIterator.java branches/READ_CACHE/bigdata/src/test/com/bigdata/relation/accesspath/TestBlockingBuffer.java branches/READ_CACHE/bigdata/src/test/com/bigdata/relation/accesspath/TestBlockingBufferWithChunks.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/StressTestConcurrent.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/TestRangeQuery.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/AbstractKeyRangeMasterTestCase.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/AbstractMasterTestCase.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestFileSystemScanner.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTask.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskIdleTimeout.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskWithErrors.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskWithRedirect.java branches/READ_CACHE/bigdata/src/test/com/bigdata/service/ndx/pipeline/TestMasterTaskWithSplits.java branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/service/jini/master/MappedTaskMaster.java branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/service/jini/master/ResourceBufferTask.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ArbitraryLengthPathNode.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/IReorderableNode.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/JoinGroupNode.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/PropertyPathNode.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StatementPatternNode.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/UnionNode.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/DGExpander.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTComplexOptionalOptimizer.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTEmptyGroupOptimizer.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTStaticJoinOptimizer.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/RemoteServiceCallImpl.java branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/store/TripleStoreUtility.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestOptionals.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTStaticJoinOptimizer.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/ConnectOptions.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedQuery.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepository.java branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithoutSids.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataConnectionTest.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateTest2.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlClient.java Added Paths: ----------- branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/StaticOptimizer.java branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.rq branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.srx branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.ttl branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-02.rq branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/TestTicket693.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/property_paths.owl branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/ticket693.txt branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll2.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlClient2.java branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlServerWithProxyIndexManager2.java Property Changed: ---------------- branches/READ_CACHE/ branches/READ_CACHE/bigdata/lib/jetty/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/aggregate/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/joinGraph/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/util/ branches/READ_CACHE/bigdata/src/java/com/bigdata/htree/raba/ branches/READ_CACHE/bigdata/src/java/com/bigdata/jsr166/ branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/joinGraph/ branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/util/ branches/READ_CACHE/bigdata/src/test/com/bigdata/jsr166/ branches/READ_CACHE/bigdata/src/test/com/bigdata/util/httpd/ branches/READ_CACHE/bigdata-compatibility/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/attr/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/disco/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/util/config/ branches/READ_CACHE/bigdata-perf/ branches/READ_CACHE/bigdata-perf/btc/ branches/READ_CACHE/bigdata-perf/btc/src/resources/ branches/READ_CACHE/bigdata-perf/lubm/ branches/READ_CACHE/bigdata-perf/uniprot/ branches/READ_CACHE/bigdata-perf/uniprot/src/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/bop/rdf/aggregate/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/changesets/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/error/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/internal/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/relation/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/util/ branches/READ_CACHE/bigdata-rdf/src/samples/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/bop/rdf/aggregate/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/internal/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/relation/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/bench/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/changesets/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/bench/ branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/ branches/READ_CACHE/dsi-utils/ branches/READ_CACHE/dsi-utils/LEGAL/ branches/READ_CACHE/dsi-utils/lib/ branches/READ_CACHE/dsi-utils/src/ branches/READ_CACHE/dsi-utils/src/java/ branches/READ_CACHE/dsi-utils/src/java/it/ branches/READ_CACHE/dsi-utils/src/java/it/unimi/ branches/READ_CACHE/dsi-utils/src/test/ branches/READ_CACHE/dsi-utils/src/test/it/unimi/ branches/READ_CACHE/dsi-utils/src/test/it/unimi/dsi/ branches/READ_CACHE/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom/ branches/READ_CACHE/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom/ branches/READ_CACHE/osgi/ branches/READ_CACHE/src/resources/bin/config/ Property changes on: branches/READ_CACHE ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BIGDATA_OPENRDF_2_6_9_UPDATE:6769-6785 /branches/BIGDATA_RELEASE_1_2_0:6766-7213 /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/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-7270 /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/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 Property changes on: branches/READ_CACHE/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-7213 /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/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-7270 /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/RWSTORE_1_1_0_DEBUG/bigdata/lib/jetty:5896-5935 /branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/lib/jetty:4814-4836 Property changes on: branches/READ_CACHE/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-7213 /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/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-7270 /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/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 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/ChunkedRunningQuery.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/ChunkedRunningQuery.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/ChunkedRunningQuery.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -63,7 +63,6 @@ import com.bigdata.rwstore.sector.IMemoryManager; import com.bigdata.service.IBigdataFederation; import com.bigdata.striterator.ICloseableIterator; -import com.bigdata.util.InnerCause; import com.bigdata.util.concurrent.Memoizer; import com.sun.jini.thread.Executor; @@ -806,6 +805,11 @@ * is invoked from within the running task in order to remove * the latency for that RMI from the thread which submits tasks * to consume chunks. + * + * FIXME This is a protocol that should be optimized to provide + * better throughput for scale-out. E.g., a single socket on + * which we transmit and receive notice about operator + * start/stop metadata using some non-blocking service. */ // final boolean lastPassRequested = ((PipelineOp) (t.bop)) @@ -1292,7 +1296,7 @@ halt(new Exception("task=" + toString() + ", cause=" + t, t)); if (getCause() != null) { // Abnormal termination - wrap and rethrow. - + // TODO Why is this line empty? (I think that it is handled by the ChunkTaskWrapper.) } // otherwise ignore exception (normal completion). } finally { @@ -1304,6 +1308,19 @@ * it is closed. */ context.getSource().close(); + /** + * Ensure that the task is cancelled. + * + * Note: This does not appear to be necessary. I am observing + * the interrupt of the operator evaluation task regardless. + * + * @see https://sourceforge.net/apps/trac/bigdata/ticket/707 + * (BlockingBuffer.close() does not unblock threads) + * @see https://sourceforge.net/apps/trac/bigdata/ticket/716 + * (Verify that IRunningQuery instances (and nested + * queries) are correctly cancelled when interrupted) + */ +// ft.cancel(true/*mayInterruptIfRunning*/); } // Done. return null; Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -886,7 +886,11 @@ shutdown = true; - // stop the query engine. + /* + * Stop the QueryEngineTask: this is the task that accepts chunks that + * are available for evaluation and assigns them to the + * AbstractRunningQuery. + */ final Future<?> f = engineFuture.get(); if (f != null) { if (log.isInfoEnabled()) @@ -894,7 +898,7 @@ f.cancel(true/* mayInterruptIfRunning */); } - // stop the service on which we ran the query engine. + // stop the service on which we ran the QueryEngineTask. final ExecutorService s = engineService.get(); if (s != null) { if (log.isInfoEnabled()) @@ -1425,8 +1429,8 @@ * a safety check against UUID collisions which might be non-random. */ throw new RuntimeException("Query exists with that UUID: uuid=" - + runningQuery.getQueryId()); - + + runningQuery.getQueryId()); + } // final String tag = query.getProperty(QueryHints.TAG, @@ -1521,7 +1525,34 @@ } - // Query was newly registered. + /* + * Query was newly registered. + */ + try { + + // Verify QueryEngine is running. + assertRunning(); + + } catch (IllegalStateException ex) { + + /** + * The query engine either is not initialized or was shutdown + * concurrent with adding the new query to the running query + * table. We yank the query out of the running query table in + * order to have no net effect and then throw out the exception + * indicating that the QueryEngine has been shutdown. + * + * @see <a + * href="https://sourceforge.net/apps/trac/bigdata/ticket/705"> + * Race condition in QueryEngine.putIfAbsent() </a> + */ + + runningQueries.remove(queryId, runningQuery); + + throw ex; + + } + return runningQuery; } finally { Property changes on: branches/READ_CACHE/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-7213 /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/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-7270 /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/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 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -265,7 +265,8 @@ final IBindingSet[] chunk = sitr.next(); - processChunk(chunk); + for (IBindingSet bs : chunk) + processChunk(new IBindingSet[] { bs }); } Property changes on: branches/READ_CACHE/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-7213 /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/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-7270 /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/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 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/concurrent/FutureTaskMon.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/concurrent/FutureTaskMon.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/concurrent/FutureTaskMon.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -44,11 +44,11 @@ private volatile boolean didStart = false; - public FutureTaskMon(Callable<T> callable) { + public FutureTaskMon(final Callable<T> callable) { super(callable); } - public FutureTaskMon(Runnable runnable, T result) { + public FutureTaskMon(final Runnable runnable, final T result) { super(runnable, result); } @@ -76,14 +76,13 @@ final boolean ret = super.cancel(mayInterruptIfRunning); - if (didStart && mayInterruptIfRunning && ret && log.isDebugEnabled()) { - try { - throw new RuntimeException("cancel call trace"); - } catch (RuntimeException re) { - log.debug("May interrupt running task", re); - } - } + if (didStart && mayInterruptIfRunning && ret && log.isDebugEnabled()) { + log.debug("May have interrupted running task", + new RuntimeException("Stack trace of cancel() invocation")); + + } + return ret; } Property changes on: branches/READ_CACHE/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-7213 /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/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-7270 /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/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 Property changes on: branches/READ_CACHE/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-7213 /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/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-7270 /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/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 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -31,7 +31,7 @@ import java.util.Iterator; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import java.util.concurrent.RejectedExecutionException; import org.apache.log4j.Logger; @@ -1182,14 +1182,21 @@ final BlockingBuffer<R[]> buffer = new BlockingBuffer<R[]>( chunkOfChunksCapacity); - final ExecutorService executorService = indexManager - .getExecutorService(); + /** + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> + */ - final Future<Void> future = executorService - .submit(new ChunkConsumerTask<R>(this, src, buffer)); + // Wrap computation as FutureTask. + final FutureTask<Void> ft = new FutureTask<Void>( + new ChunkConsumerTask<R>(this, src, buffer)); - buffer.setFuture(future); + // Set Future on BlockingBuffer *before* starting computation. + buffer.setFuture(ft); + // Start computation. + indexManager.getExecutorService().submit(ft); + return new ChunkConsumerIterator<R>(buffer.iterator(), keyOrder); } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/BlockingBuffer.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/BlockingBuffer.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/BlockingBuffer.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -1541,7 +1541,17 @@ log.info("Interrupted: " + this, ex); else if (log.isInfoEnabled()) log.info("Interrupted: " + this); - + /** + * Note: Propagating the interrupt appears to be necessary here + * in order to have timely termination of nested subqueries. + * + * @see https://sourceforge.net/apps/trac/bigdata/ticket/707 + * (BlockingBuffer.close() does not unblock threads) + * @see https://sourceforge.net/apps/trac/bigdata/ticket/716 + * (Verify that IRunningQuery instances (and nested + * queries) are correctly cancelled when interrupted) + */ + Thread.currentThread().interrupt(); return false; } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/IBlockingBuffer.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/IBlockingBuffer.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/IBlockingBuffer.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -29,6 +29,7 @@ package com.bigdata.relation.accesspath; import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import com.bigdata.relation.IMutableRelation; import com.bigdata.relation.IRelation; @@ -97,7 +98,12 @@ /** * Set the {@link Future} for the source processing writing on the - * {@link IBlockingBuffer}. + * {@link IBlockingBuffer} (the producer). + * <p> + * Note: You should always wrap the task as a {@link FutureTask} and set the + * {@link Future} on the {@link IBlockingBuffer} before you start the + * consumer. This ensures that the producer will be cancelled if the + * consumer is interrupted. * * @param future * The {@link Future}. @@ -106,7 +112,10 @@ * if the argument is <code>null</code>. * @throws IllegalStateException * if the future has already been set. - * + * + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> + * * @todo There should be a generic type for this. */ public void setFuture(Future future); Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/MultiSourceSequentialCloseableIterator.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/MultiSourceSequentialCloseableIterator.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/MultiSourceSequentialCloseableIterator.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -131,19 +131,29 @@ // current is known to be [null]. lock.lock(); try { - /* Close iterator which has been consumed. + /** + * Close iterator which has been consumed. * + * @see <a + * href="https://sourceforge.net/apps/trac/bigdata/ticket/706" + * > MultiSourceSequentialCloseableIterator.nextSource() can + * throw NPE </a> */ - if (log.isInfoEnabled()) - log.info("Closing source: " + current); - current.close(); + ICloseableIterator<E> t = this.current; + { + if (t != null) { + if (log.isInfoEnabled()) + log.info("Closing source: " + t); + t.close(); + } + } // remove the head of the queue (non-blocking) - while ((current = sources.poll()) != null) { - if (current.hasNext()) { - return current; + while ((t = current = sources.poll()) != null) { + if (t.hasNext()) { + return t; } else { // Note: should already be closed since exhausted. - current.close(); + t.close(); } } // no more sources with data, close while holding lock. Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/rule/eval/ProgramTask.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/rule/eval/ProgramTask.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/relation/rule/eval/ProgramTask.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -355,13 +355,25 @@ * @todo if the #of results is small and they are available with * little latency then return the results inline using a fully * buffered iterator. + * + * Note: hack pattern to ensure Future is cancelled if we exit by + * any code path before the future has been set on the BlockingBuffer. + * + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> */ + try { + // run the task. + future = queryTask.submit(); - // run the task. - future = queryTask.submit(); - - // set the future on the BlockingBuffer. - buffer.setFuture(future); + // set the future on the BlockingBuffer. + buffer.setFuture(future); + } finally { + if (future != null && buffer.getFuture() == null) { + // Future exists but not set on BlockingBuffer. + future.cancel(true/* mayInterruptIfRunning */); + } + } if (log.isDebugEnabled()) log.debug("Returning iterator reading on async query task"); Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/AbstractScaleOutClientIndexView.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/AbstractScaleOutClientIndexView.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/AbstractScaleOutClientIndexView.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -33,7 +33,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.concurrent.ArrayBlockingQueue; -import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -75,16 +75,15 @@ import com.bigdata.mdi.PartitionLocator; import com.bigdata.relation.accesspath.BlockingBuffer; import com.bigdata.resources.StaleLocatorException; +import com.bigdata.service.AbstractClient; import com.bigdata.service.AbstractScaleOutFederation; +import com.bigdata.service.IBigdataClient; import com.bigdata.service.IBigdataClient.Options; -import com.bigdata.service.AbstractClient; -import com.bigdata.service.IBigdataClient; import com.bigdata.service.IBigdataFederation; import com.bigdata.service.IDataService; import com.bigdata.service.IMetadataService; import com.bigdata.service.Split; import com.bigdata.service.ndx.pipeline.IDuplicateRemover; -import com.bigdata.service.ndx.pipeline.IndexAsyncWriteStats; import com.bigdata.service.ndx.pipeline.IndexWriteTask; import cutthecrap.utils.striterators.IFilter; @@ -1272,11 +1271,21 @@ writeBuffer// ); - final Future<? extends IndexAsyncWriteStats> future = fed - .getExecutorService().submit(task); + /** + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> + */ - writeBuffer.setFuture(future); + // Wrap computation as FutureTask. + @SuppressWarnings({ "unchecked", "rawtypes" }) + final FutureTask<?> ft = new FutureTask(task); + // Set Future on BlockingBuffer + writeBuffer.setFuture(ft); + + // Submit computation for evaluation. + fed.getExecutorService().submit(ft); + return task.getBuffer(); } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/ClientIndexView.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/ClientIndexView.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/ClientIndexView.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -36,6 +36,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -91,7 +92,6 @@ import com.bigdata.service.IMetadataService; import com.bigdata.service.Split; import com.bigdata.service.ndx.pipeline.IDuplicateRemover; -import com.bigdata.service.ndx.pipeline.IndexAsyncWriteStats; import com.bigdata.service.ndx.pipeline.IndexWriteTask; import com.bigdata.striterator.ICloseableIterator; import com.bigdata.util.InnerCause; @@ -833,8 +833,20 @@ ts, isReadConsistentTx, fromKey, toKey, capacity, flags, filter, queryBuffer); - queryBuffer.setFuture(fed.getExecutorService().submit(task)); + /** + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> + */ + // Wrap computation as FutureTask. + final FutureTask<Void> ft = new FutureTask<Void>(task); + + // Set Future on BlockingBuffer. + queryBuffer.setFuture(ft); + + // Submit computation for evaluation. + fed.getExecutorService().submit(ft); + return new UnchunkedTupleIterator(queryBuffer.iterator()); } @@ -2228,11 +2240,21 @@ writeBuffer// ); - final Future<? extends IndexAsyncWriteStats> future = fed - .getExecutorService().submit(task); + /** + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> + */ - writeBuffer.setFuture(future); + // Wrap computation as FutureTask. + @SuppressWarnings({ "unchecked", "rawtypes" }) + final FutureTask<?> ft = new FutureTask(task); + // Set Future on BlockingBuffer. + writeBuffer.setFuture(ft); + + // Submit computation for evaluation. + fed.getExecutorService().submit(ft); + return task.getBuffer(); } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/AbstractMasterTask.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/AbstractMasterTask.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/AbstractMasterTask.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -35,6 +35,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; @@ -896,11 +897,28 @@ // if (oldval == null) { - // assign a worker thread to the sink. - final Future<? extends AbstractSubtaskStats> future = submitSubtask(sink); + /** + * Start subtask. + * + * @see <a + * href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> + */ + { + + // Wrap the computation as a FutureTask. + @SuppressWarnings({ "unchecked", "rawtypes" }) + final FutureTask<? extends AbstractSubtaskStats> ft = new FutureTask( + sink); + + // Set Future on the BlockingBuffer. + out.setFuture(ft); + + // Assign a worker thread to the sink. + submitSubtask(ft); + + } - out.setFuture(future); - stats.subtaskStartCount.incrementAndGet(); // } else { @@ -940,15 +958,26 @@ */ abstract protected S newSubtask(L locator, BlockingBuffer<E[]> out); +// /** +// * Submit the subtask to an {@link Executor}. +// * +// * @param subtask +// * The subtask. +// * +// * @return The {@link Future}. +// */ +// abstract protected Future<? extends AbstractSubtaskStats> submitSubtask(S subtask); /** * Submit the subtask to an {@link Executor}. * * @param subtask - * The subtask. - * - * @return The {@link Future}. + * The {@link FutureTask} used to execute thee subtask. + * + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/707"> + * BlockingBuffer.close() does not unblock threads </a> */ - abstract protected Future<? extends AbstractSubtaskStats> submitSubtask(S subtask); + abstract protected void submitSubtask( + FutureTask<? extends AbstractSubtaskStats> subtask); /** * Drains any {@link Future}s from {@link #finishedSubtaskQueue} which are done Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/IndexWriteTask.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/IndexWriteTask.java 2013-08-09 12:05:53 UTC (rev 7270) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/IndexWriteTask.java 2013-08-09 12:34:38 UTC (rev 7271) @@ -30,7 +30,7 @@ import java.util.LinkedList; import java.util.concurrent.Callable; -import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; @@ -288,13 +288,12 @@ } - @SuppressWarnings("unchecked") @Override - protected Future<HS> submitSubtask(final S subtask) { + protected void submitSubtask( + final FutureTask<? extends AbstractSubtaskStats> subtask) { - return (Future<HS>) ndx.getFederation().getExecutorService().submit( - subtask); - + ndx.getFederation().getExecutorService().submit(subtask); + } /** Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/service/proxy/Clien... [truncated message content] |
From: <tho...@us...> - 2013-08-14 18:09:28
|
Revision: 7292 http://bigdata.svn.sourceforge.net/bigdata/?rev=7292&view=rev Author: thompsonbry Date: 2013-08-14 18:09:08 +0000 (Wed, 14 Aug 2013) Log Message: ----------- Merging changes from branches/READ_CACHE2 back into branches/READ_CACHE. These changes are designed to improve the stability and failover characteristics of the HA replication cluster. Work continues on this under branches/READ_CACHE2. @ r7291. {{{ merge https://bigdata.svn.sourceforge.net/svnroot/bigdata/branches/READ_CACHE2 /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/StressTestHA3JournalServer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHAJournalServerOverride.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-A.properties U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-B.properties U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-C.properties U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-A.config U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-B.config U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-C.config C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA2JournalServer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3JournalServer.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/disco G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/disco --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/jini/start/config/ServiceConfiguration.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/attr G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/attr --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/AbstractServer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/SnapshotManager.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/util/config G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-jini/src/java/com/bigdata/util/config --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/lubm G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/lubm --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/uniprot/src G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/uniprot/src --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/uniprot G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/uniprot --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/btc/src/resources G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/btc/src/resources --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/btc G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf/btc --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-perf --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/src/resources/bin/config G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/src/resources/bin/config --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/lib/jetty G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/lib/jetty --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/bop/joinGraph G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/bop/joinGraph --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/bop/util G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/bop/util --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/quorum/TestSingletonQuorumSemantics.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/ha/pipeline/TestHASendAndReceive3Nodes.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/jsr166 G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/jsr166 --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/rwstore/TestRWJournal.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/journal/ha/AbstractHAJournalTestCase.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/util/httpd G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/test/com/bigdata/util/httpd --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/quorum/QuorumStateChangeListener.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/quorum/AbstractQuorum.java A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/quorum/QuorumTokenTransitions.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumPipelineImpl.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumServiceBase.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HANotifyReleaseTimeRequest.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHAGatherReleaseTimeRequest.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HAGatherReleaseTimeRequest.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHANotifyReleaseTimeRequest.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumService.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/IHALogWriter.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/HALogWriter.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/ha/pipeline/HASendService.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/aggregate G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/aggregate --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/ChunkedRunningQuery.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/util G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/util --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/joinGraph G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/bop/joinGraph --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/jsr166 G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/jsr166 --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/AbstractHATransactionService.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/proxy/ClientAsynchronousIterator.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/ClientIndexView.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/AbstractMasterTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/pipeline/IndexWriteTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/service/ndx/AbstractScaleOutClientIndexView.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/io/FileChannelUtility.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/io/writecache/BufferedWrite.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/htree/raba G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/htree/raba --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/journal/Journal.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/journal/AbstractJournal.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/rule/eval/ProgramTask.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/BlockingBuffer.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/MultiSourceSequentialCloseableIterator.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/relation/accesspath/IBlockingBuffer.java A /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata/src/java/com/bigdata/util/StackInfoReport.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/build.xml --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/osgi G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/osgi --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-compatibility G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-compatibility --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/ticket693.txt C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/property_paths.owl C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/TestTicket693.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/bench G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/bench --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlClient2.java C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlServerWithProxyIndexManager2.java C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll2.java G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/bench G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/bench --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IPreparedQuery.java G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/changesets G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/changesets --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/bop/rdf/aggregate G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/bop/rdf/aggregate --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.srx C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.ttl C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-01.rq C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/non-matching-optional-02.rq U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestOptionals.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/internal G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/internal --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/relation G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/relation --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/bop/rdf/aggregate G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/bop/rdf/aggregate --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/changesets G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/changesets --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/error G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/error --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/store/TripleStoreUtility.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java U /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/DGExpander.java C /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/StaticOptimizer.java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/internal G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/internal --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/relation G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/relation --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/util G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/util --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/samples G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/bigdata-rdf/src/samples --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/LEGAL G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/LEGAL --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/lib G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/lib --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/test/it/unimi/dsi G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/test/it/unimi/dsi --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/test/it/unimi G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/test/it/unimi --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/test G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/test --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/java/it/unimi G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/java/it/unimi --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/java/it G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/java/it --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/java G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src/java --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils/src --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE/dsi-utils --- Merging r7214 through r7291 into /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE G /Users/bryan/Documents/workspace/BIGDATA_READ_CACHE Merge complete. ===== File Statistics: ===== Added: 2 Updated: 59 ==== Property Statistics: ===== Merged: 50 ==== Conflict Statistics: ===== File conflicts: 1 Tree conflicts: 11 }}} The one file conflict reported in the summary had identical changes in both branches (AbstractHAJournalServerTestCase). There were a number of file conflicts NOT reported in the summary. These all had no changes when comparing the two files. I do not know why the conflict was reported. See #530 (Journal HA) See #720 (HA3 simultaneous start failures) Revision Links: -------------- http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7214&view=rev http://bigdata.svn.sourceforge.net/bigdata/?rev=7291&view=rev Modified Paths: -------------- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumPipelineImpl.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumService.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumServiceBase.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/HALogWriter.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/IHALogWriter.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HAGatherReleaseTimeRequest.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HANotifyReleaseTimeRequest.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHAGatherReleaseTimeRequest.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHANotifyReleaseTimeRequest.java branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/pipeline/HASendService.java branches/READ_CACHE/bigdata/src/java/com/bigdata/io/FileChannelUtility.java branches/READ_CACHE/bigdata/src/java/com/bigdata/io/writecache/BufferedWrite.java branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/AbstractJournal.java branches/READ_CACHE/bigdata/src/java/com/bigdata/journal/Journal.java branches/READ_CACHE/bigdata/src/java/com/bigdata/quorum/AbstractQuorum.java branches/READ_CACHE/bigdata/src/java/com/bigdata/quorum/QuorumStateChangeListener.java branches/READ_CACHE/bigdata/src/java/com/bigdata/service/AbstractHATransactionService.java branches/READ_CACHE/bigdata/src/test/com/bigdata/ha/pipeline/TestHASendAndReceive3Nodes.java branches/READ_CACHE/bigdata/src/test/com/bigdata/journal/ha/AbstractHAJournalTestCase.java branches/READ_CACHE/bigdata/src/test/com/bigdata/quorum/TestSingletonQuorumSemantics.java branches/READ_CACHE/bigdata/src/test/com/bigdata/rwstore/TestRWJournal.java branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/jini/start/config/ServiceConfiguration.java branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/AbstractServer.java branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal.java branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/journal/jini/ha/SnapshotManager.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHAJournalServerTestCase.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-A.config branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-B.config branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournal-C.config branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/HAJournalTest.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/StressTestHA3JournalServer.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA2JournalServer.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3JournalServer.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHAJournalServerOverride.java branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-A.properties branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-B.properties branches/READ_CACHE/bigdata-jini/src/test/com/bigdata/journal/jini/ha/log4j-template-C.properties branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java branches/READ_CACHE/build.xml Added Paths: ----------- branches/READ_CACHE/bigdata/src/java/com/bigdata/quorum/QuorumTokenTransitions.java branches/READ_CACHE/bigdata/src/java/com/bigdata/util/StackInfoReport.java Property Changed: ---------------- branches/READ_CACHE/ branches/READ_CACHE/bigdata/lib/jetty/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/aggregate/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/joinGraph/ branches/READ_CACHE/bigdata/src/java/com/bigdata/bop/util/ branches/READ_CACHE/bigdata/src/java/com/bigdata/htree/raba/ branches/READ_CACHE/bigdata/src/java/com/bigdata/jsr166/ branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/joinGraph/ branches/READ_CACHE/bigdata/src/test/com/bigdata/bop/util/ branches/READ_CACHE/bigdata/src/test/com/bigdata/jsr166/ branches/READ_CACHE/bigdata/src/test/com/bigdata/util/httpd/ branches/READ_CACHE/bigdata-compatibility/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/attr/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/disco/ branches/READ_CACHE/bigdata-jini/src/java/com/bigdata/util/config/ branches/READ_CACHE/bigdata-perf/ branches/READ_CACHE/bigdata-perf/btc/ branches/READ_CACHE/bigdata-perf/btc/src/resources/ branches/READ_CACHE/bigdata-perf/lubm/ branches/READ_CACHE/bigdata-perf/uniprot/ branches/READ_CACHE/bigdata-perf/uniprot/src/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/bop/rdf/aggregate/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/changesets/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/error/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/internal/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/relation/ branches/READ_CACHE/bigdata-rdf/src/java/com/bigdata/rdf/util/ branches/READ_CACHE/bigdata-rdf/src/samples/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/bop/rdf/aggregate/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/internal/ branches/READ_CACHE/bigdata-rdf/src/test/com/bigdata/rdf/relation/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/bench/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/changesets/ branches/READ_CACHE/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/bench/ branches/READ_CACHE/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/ branches/READ_CACHE/dsi-utils/ branches/READ_CACHE/dsi-utils/LEGAL/ branches/READ_CACHE/dsi-utils/lib/ branches/READ_CACHE/dsi-utils/src/ branches/READ_CACHE/dsi-utils/src/java/ branches/READ_CACHE/dsi-utils/src/java/it/ branches/READ_CACHE/dsi-utils/src/java/it/unimi/ branches/READ_CACHE/dsi-utils/src/test/ branches/READ_CACHE/dsi-utils/src/test/it/unimi/ branches/READ_CACHE/dsi-utils/src/test/it/unimi/dsi/ branches/READ_CACHE/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom/ branches/READ_CACHE/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom/ branches/READ_CACHE/osgi/ branches/READ_CACHE/src/resources/bin/config/ Property changes on: branches/READ_CACHE ___________________________________________________________________ Modified: svn:ignore - ant-build src bin bigdata*.jar ant-release standalone test* countersfinal.xml events.jnl .settings *.jnl TestInsertRate.out SYSTAP-BBT-result.txt U10load+query *.hprof com.bigdata.cache.TestHardReferenceQueueWithBatchingUpdates.exp.csv commit-log.txt eventLog dist bigdata-test com.bigdata.rdf.stress.LoadClosureAndQueryTest.*.csv DIST.bigdata-*.tgz REL.bigdata-*.tgz queryLog* queryRunState* sparql.txt benchmark + ant-build src bin bigdata*.jar ant-release standalone test* countersfinal.xml events.jnl .settings *.jnl TestInsertRate.out SYSTAP-BBT-result.txt U10load+query *.hprof com.bigdata.cache.TestHardReferenceQueueWithBatchingUpdates.exp.csv commit-log.txt eventLog dist bigdata-test com.bigdata.rdf.stress.LoadClosureAndQueryTest.*.csv DIST.bigdata-*.tgz REL.bigdata-*.tgz queryLog* queryRunState* sparql.txt benchmark CI Modified: svn:mergeinfo - /branches/BIGDATA_OPENRDF_2_6_9_UPDATE:6769-6785 /branches/BIGDATA_RELEASE_1_2_0:6766-7270 /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/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-7270 /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_CACHE2:7217-7291 /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 Property changes on: branches/READ_CACHE/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-7270 /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/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-7270 /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_CACHE2/bigdata/lib/jetty:7217-7291 /branches/RWSTORE_1_1_0_DEBUG/bigdata/lib/jetty:5896-5935 /branches/TIDS_PLUS_BLOBS_BRANCH/bigdata/lib/jetty:4814-4836 Property changes on: branches/READ_CACHE/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-7270 /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/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-7270 /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_CACHE2/bigdata/src/java/com/bigdata/bop/aggregate:7217-7291 /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 Property changes on: branches/READ_CACHE/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-7270 /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/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-7270 /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_CACHE2/bigdata/src/java/com/bigdata/bop/joinGraph:7217-7291 /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 Property changes on: branches/READ_CACHE/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-7270 /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/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-7270 /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_CACHE2/bigdata/src/java/com/bigdata/bop/util:7217-7291 /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 Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumPipelineImpl.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumPipelineImpl.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumPipelineImpl.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -326,7 +326,7 @@ } dce = tst; } else if (tst.getEventType() == QuorumStateChangeEventEnum.PIPELINE_ADD) { - add = tst; + add = tst; } else if (tst.getEventType() == QuorumStateChangeEventEnum.PIPELINE_REMOVE) { if (add != null) { if (log.isDebugEnabled()) { @@ -1300,7 +1300,7 @@ * attempting to robustly replicate a write into a single method. This * was done in order to concentrate any conditional logic and design * rationale into a single method. - * + * <p> * Note: IFF we allow non-leaders to replicate HALog messages then this * assert MUST be changed to verify that the quorum token remains valid * and that this service remains joined with the met quorum, i.e., @@ -1499,10 +1499,15 @@ try { - if (log.isTraceEnabled()) - log.trace("Leader will send: " + b.remaining() + if (log.isInfoEnabled() || retryCount > 0) { + final String msg2 = "Leader will send: " + b.remaining() + " bytes, retryCount=" + retryCount + ", req=" - + req + ", msg=" + msg); + + req + ", msg=" + msg; + if (retryCount > 0) + log.warn(msg2); + else + log.info(msg2); + } // retest while holding lock before sending the message. assertQuorumState(); @@ -2068,5 +2073,23 @@ } } + + /** + * Called from ErrorTask in HAJournalServer to ensure that events are + * processed before entering SeekConsensus. + * + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/695"> + * HAJournalServer reports "follower" but is in SeekConsensus and is not + * participating in commits</a> + */ + public void processEvents() { + this.lock.lock(); + try { + innerEventHandler.dispatchEvents();// have lock, dispatch events. + } finally { + this.lock.unlock(); + } + + } } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumService.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumService.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumService.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -124,21 +124,15 @@ final IRootBlockView rootBlock1); /** - * Callback method. - * - * @param token - * The token on which the service joined a met quorum. - * @param commitCounter - * The commitCounter for the local service. - * @param isLeader - * <code>true</code> iff the local service is the quorum leader. + * Enter an error state. The error state should take whatever corrective + * actions are necessary in order to prepare the service for continued + * operations. */ - /* - * I added this in but wound up not needed it. Do not use without good - * justification. - */ - @Deprecated - void didMeet(final long token, final long commitCounter, - final boolean isLeader); + void enterErrorState(); + /** + * Discard all state associated with the current write set. + */ + void discardWriteSet(); + } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumServiceBase.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumServiceBase.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/QuorumServiceBase.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -372,5 +372,19 @@ return readImpl.readFromQuorum(storeId, addr); } + + /** + * Called from ErrorTask in HAJournalServer to ensure that events are + * processed before entering SeekConsensus. + * + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/695"> + * HAJournalServer reports "follower" but is in SeekConsensus and is not + * participating in commits</a> + */ + protected void processEvents() { + pipelineImpl.processEvents(); + + } + } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/HALogWriter.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/HALogWriter.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/HALogWriter.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -47,6 +47,7 @@ import com.bigdata.journal.RootBlockView; import com.bigdata.journal.StoreTypeEnum; import com.bigdata.rawstore.Bytes; +import com.bigdata.util.StackInfoReport; /** * Wrapper class to handle process log creation and output for HA. @@ -260,7 +261,7 @@ throw new IllegalStateException(); if (haLog.isInfoEnabled()) - haLog.info("rootBlock=" + rootBlock); + haLog.info("rootBlock=" + rootBlock, new StackInfoReport()); m_rootBlock = rootBlock; @@ -603,11 +604,15 @@ } - /** - * On various error conditions we may need to remove the log - * - * @throws IOException - */ + /** + * On various error conditions we may need to remove the log + * + * @throws IOException + * + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/695"> + * HAJournalServer reports "follower" but is in SeekConsensus and is + * not participating in commits\xA7</a> + */ private void remove() throws IOException { final Lock lock = m_stateLock.writeLock(); @@ -620,8 +625,18 @@ * Conditional remove iff file is open. Will not remove * something that has been closed. */ + final boolean isCommitted = m_state.isCommitted(); + + if (haLog.isInfoEnabled()) + haLog.info("Will close: " + m_state.m_haLogFile + ", committed: " + isCommitted); + m_state.forceCloseAll(); - + + if (isCommitted) return; // Do not remove a sealed HALog file! + + if (haLog.isInfoEnabled()) + haLog.info("Will remove: " + m_state.m_haLogFile, new StackInfoReport()); + if (m_state.m_haLogFile.exists() && !m_state.m_haLogFile.delete()) { /* @@ -646,9 +661,7 @@ } - /** - * Disable (and remove) the current log file if one is open. - */ + @Override public void disableHALog() throws IOException { if (haLog.isInfoEnabled()) Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/IHALogWriter.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/IHALogWriter.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/halog/IHALogWriter.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -88,7 +88,13 @@ public void closeHALog(IRootBlockView rootBlock) throws IOException; /** - * Disable (and remove) the current log file if one is open. + * Disable (and remove) the current log file if one is open (an HALog file + * which has been committed by applying its closing root block is NOT + * removed). + * + * @see <a href="https://sourceforge.net/apps/trac/bigdata/ticket/695"> + * HAJournalServer reports "follower" but is in SeekConsensus and is + * not participating in commits</a> */ public void disableHALog() throws IOException; Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HA2PhasePrepareMessage.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -130,7 +130,19 @@ return unit; } + /** + * {@inheritDoc} + * <p> + * Returns <code>false</code> by default + */ @Override + public boolean voteNo() { + + return false; + + } + + @Override public String toString() { return super.toString()+"{"// +"consensusReleaseTime="+getConsensusReleaseTime()// Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HAGatherReleaseTimeRequest.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HAGatherReleaseTimeRequest.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HAGatherReleaseTimeRequest.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -23,6 +23,8 @@ */ package com.bigdata.ha.msg; +import java.util.UUID; + public class HAGatherReleaseTimeRequest implements IHAGatherReleaseTimeRequest { @@ -33,17 +35,28 @@ private final long token; private final long timestampOnLeader; + private final UUID leaderId; + private final long newCommitCounter; + private final long newCommitTime; public HAGatherReleaseTimeRequest(final long token, - final long timestampOnLeader) { + final long timestampOnLeader, final UUID leaderId, + final long newCommitCounter, final long newCommitTime) { + if (leaderId == null) + throw new IllegalArgumentException(); this.token = token; this.timestampOnLeader = timestampOnLeader; + this.leaderId = leaderId; + this.newCommitCounter = newCommitCounter; + this.newCommitTime = newCommitTime; } @Override public String toString() { return super.toString() + "{token=" + token + ",timestampOnLeader=" - + timestampOnLeader + "}"; + + timestampOnLeader + ", leaderId=" + leaderId + + ", newCommitCounter=" + newCommitCounter + ", newCommitTime=" + + newCommitTime + "}"; } @Override @@ -55,5 +68,20 @@ public long getTimestampOnLeader() { return timestampOnLeader; } + + @Override + public UUID getLeaderId() { + return leaderId; + } + @Override + public long getNewCommitCounter() { + return newCommitCounter; + } + + @Override + public long getNewCommitTime() { + return newCommitTime; + } + } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HANotifyReleaseTimeRequest.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HANotifyReleaseTimeRequest.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/HANotifyReleaseTimeRequest.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -36,14 +36,27 @@ private final long pinnedCommitTime; private final long pinnedCommitCounter; private final long timestamp; + private final boolean isMock; + private final long newCommitCounter; + private final long newCommitTime; public HANotifyReleaseTimeRequest(final UUID serviceUUID, final long pinnedCommitTime, final long pinnedCommitCounter, - final long timestamp) { + final long timestamp, final boolean isMock, + final long newCommitCounter, final long newCommitTime) { + if (serviceUUID == null) + throw new IllegalArgumentException(); + if (pinnedCommitTime < 0) + throw new IllegalArgumentException(); + if (pinnedCommitCounter < 0) + throw new IllegalArgumentException(); this.serviceUUID = serviceUUID; this.pinnedCommitTime = pinnedCommitTime; this.pinnedCommitCounter = pinnedCommitCounter; this.timestamp = timestamp; + this.isMock = isMock; + this.newCommitCounter = newCommitCounter; + this.newCommitTime = newCommitTime; } @Override @@ -51,7 +64,7 @@ return super.toString() + "{serviceUUID=" + serviceUUID + ",pinnedCommitTime=" + pinnedCommitTime + ",pinnedCommitCounter=" + pinnedCommitCounter + ",timestamp=" - + timestamp + "}"; + + timestamp + ", isMock=" + isMock + "}"; } @Override @@ -74,4 +87,19 @@ return timestamp; } + @Override + public boolean isMock() { + return isMock; + } + + @Override + public long getNewCommitCounter() { + return newCommitCounter; + } + + @Override + public long getNewCommitTime() { + return newCommitTime; + } + } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java 2013-08-14 16:40:31 UTC (rev 7291) +++ branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHA2PhasePrepareMessage.java 2013-08-14 18:09:08 UTC (rev 7292) @@ -88,4 +88,10 @@ * The unit for the timeout. */ TimeUnit getUnit(); + + /** + * When <code>true</code>, always vote note. + */ + boolean voteNo(); + } Modified: branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHAGatherReleaseTimeRequest.java =================================================================== --- branches/READ_CACHE/bigdata/src/java/com/bigdata/ha/msg/IHAGather... [truncated message content] |