|
From: <mrp...@us...> - 2014-07-17 14:57:53
|
Revision: 8567
http://sourceforge.net/p/bigdata/code/8567
Author: mrpersonick
Date: 2014-07-17 14:57:42 +0000 (Thu, 17 Jul 2014)
Log Message:
-----------
Merge 1.3 branch from 8382 to HEAD. Now at 8565.
Modified Paths:
--------------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/Banner.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/BigdataStatics.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryJoinAnnotations.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/AbstractRunningQuery.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/IRunningQuery.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryDeadline.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryLog.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/AbstractBTree.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/DefaultTupleSerializer.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/IndexMetadata.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/PageStats.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/filter/PrefixFilter.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/ASCIIKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/DefaultKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/IKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/keys/ThreadLocalKeyBuilderFactory.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/btree/proc/IIndexProcedure.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/AbstractJournal.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/AbstractTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/CommitCounterUtility.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/DropIndexTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IIndexManager.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/JournalTransactionService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/Name2Addr.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/RegisterIndexTask.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/WriteExecutorService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/relation/AbstractRelation.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/relation/locator/DefaultResourceLocator.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/rwstore/RWStore.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/AbstractTransactionService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/IService.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/sparse/GlobalRowStoreHelper.java
branches/SESAME_2_7/bigdata/src/releases/RELEASE_1_3_1.txt
branches/SESAME_2_7/bigdata/src/resources/logging/log4j-dev.properties
branches/SESAME_2_7/bigdata/src/resources/logging/log4j.properties
branches/SESAME_2_7/bigdata/src/test/com/bigdata/bop/engine/TestQueryDeadlineOrder.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/bop/engine/TestQueryEngine.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/AbstractMROWTestCase.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestConcurrentTx.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestConcurrentUnisolatedIndices.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestLockContention.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/StressTestUnisolatedReadWriteIndex.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestCommitCounterUtility.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestJournalBasics.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestUnisolatedWriteTasks.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestWORMStrategy.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/rwstore/TestRWJournal.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/service/TestAll.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournal.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HALogNexus.java
branches/SESAME_2_7/bigdata-jini/src/java/com/bigdata/journal/jini/ha/SnapshotManager.java
branches/SESAME_2_7/bigdata-jini/src/test/com/bigdata/journal/jini/ha/AbstractHA3JournalServerTestCase.java
branches/SESAME_2_7/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA1JournalServer.java
branches/SESAME_2_7/bigdata-jini/src/test/com/bigdata/journal/jini/ha/TestHA3SnapshotPolicy2.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/LexiconRelation.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/Term2IdTupleSerializer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/model/BigdataValueFactoryImpl.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/ASTContainer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterNode.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/GroupMemberNodeBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/QueryHints.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/StaticAnalysis.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryFunctionNodeBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/SubqueryRoot.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpContext.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AST2BOpUtility.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ASTEvalHelper.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/AbstractServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/SampleServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/SliceServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ValuesServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AbstractChunkSizeHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AccessPathSampleLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AccessPathScanAndFilterHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AnalyticQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/AtOnceHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicBooleanQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicDoubleQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicIntQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicLongQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BasicStringQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/BufferChunkOfChunksCapacityHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/CutoffLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/DescribeIterationLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/DescribeModeHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/DescribeStatementLimitHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/HashJoinHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/IQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/KeyOrderHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/MergeJoinHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeDistinctQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeDistinctSPOHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeDistinctSPOThresholdHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/NativeHashJoinsHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/OptimisticQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/OptimizerQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/PipelineMaxMessagesPerTaskHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/PipelineMaxParallelHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/PipelineQueueCapacityHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/QueryHintRegistry.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/QueryIdHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RTOLimitQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RTONEdgesQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RTOSampleTypeQueryHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RangeHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RemoteAPHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RunFirstHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RunLastHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/RunOnceHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTExistsOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/ASTQueryHintOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/optimizers/StaticOptimizer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/CustomServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/INativeServiceOptions.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/IServiceOptions.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/RemoteServiceCallImpl.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/ServiceCall.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/ServiceCallCreateParams.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/ServiceOptionsBase.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/BD.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePatternMaterializer.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/store/LocalTripleStore.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/lexicon/TestCompletionScan.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/TestAll.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNamedGraphs.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestNegation.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/TestTCK.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/service/BigdataNativeMockServiceFactory.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/optimizers/TestASTExistsAndJoinOrderByTypeOptimizers.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStore.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/store/TestLocalTripleStoreDestroy.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailFactory.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailRepository.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/remote/BigdataSailRemoteRepository.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFContext.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BlueprintsServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/CountersServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DeleteServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DescribeCacheServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HALoadBalancerServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/HAStatusServletUtil.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/InsertServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/MultiTenancyServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/RESTServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/UpdateServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/WorkbenchServlet.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/IMimeTypes.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepository.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/client/RemoteRepositoryManager.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/AbstractBigdataSailTestCase.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailEmbeddedFederationWithQuads.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestBigdataSailWithQuads.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestMROWTransactions.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestMROWTransactionsNoHistory.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/TestMROWTransactionsWithHistory.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataEmbeddedFederationSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSPARQLUpdateConformanceTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/tck/BigdataSparqlTest.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/AbstractTestNanoSparqlClient.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestAll.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestMultiTenancyAPI.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/TestNanoSparqlServerWithProxyIndexManager.java
branches/SESAME_2_7/bigdata-sails/src/test/com/bigdata/rdf/sail/webapp/health/TestNSSHealthCheck.java
branches/SESAME_2_7/bigdata-war/classes/log4j.properties
branches/SESAME_2_7/bigdata-war/src/html/css/style.css
branches/SESAME_2_7/bigdata-war/src/html/index.html
branches/SESAME_2_7/bigdata-war/src/html/js/workbench.js
branches/SESAME_2_7/bigdata-war/src/jetty.xml
branches/SESAME_2_7/build.properties
branches/SESAME_2_7/build.xml
branches/SESAME_2_7/pom.xml
branches/SESAME_2_7/src/resources/HAJournal/HAJournal.config
branches/SESAME_2_7/src/resources/HAJournal/log4jHA.properties
branches/SESAME_2_7/src/resources/bin/HARestore
branches/SESAME_2_7/src/resources/bin/startHAServices
branches/SESAME_2_7/src/resources/deployment/nss/WEB-INF/classes/log4j.properties
branches/SESAME_2_7/src/resources/deployment/nss/bin/startNSS
branches/SESAME_2_7/src/resources/etc/default/bigdataHA
branches/SESAME_2_7/src/resources/etc/init.d/bigdataHA
Added Paths:
-----------
branches/SESAME_2_7/bigdata/src/java/com/bigdata/journal/IReadOnly.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/rwstore/MetabitsUtil.java
branches/SESAME_2_7/bigdata/src/java/com/bigdata/service/IServiceInit.java
branches/SESAME_2_7/bigdata/src/test/com/bigdata/journal/TestHierarchicalLockingTasks.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/FilterExistsModeEnum.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/eval/ServiceParams.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/hints/FilterExistsHint.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/SimpleStoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/StoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/package.html
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/AbstractApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForIndexManager.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForJournal.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/IApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/package.html
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988.trig
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988a.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988a.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988b.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988b.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988c.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988c.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988d.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/exists-988d.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-001.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-001.srx
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-001.ttl
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-002.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/eval/stored-query-003.rq
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestAll.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestStoredQueryService.java
branches/SESAME_2_7/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/AbstractRestApiTask.java
branches/SESAME_2_7/src/resources/deployment/README.txt
branches/SESAME_2_7/src/resources/deployment/brew/
branches/SESAME_2_7/src/resources/deployment/brew/bigdata.rb
branches/SESAME_2_7/src/resources/deployment/chef/
branches/SESAME_2_7/src/resources/deployment/chef/README.md
branches/SESAME_2_7/src/resources/deployment/chef/attributes/
branches/SESAME_2_7/src/resources/deployment/chef/attributes/default.rb
branches/SESAME_2_7/src/resources/deployment/chef/metadata.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/
branches/SESAME_2_7/src/resources/deployment/chef/recipes/high_availability.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/java7.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/mapgraph.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/nss.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/ssd.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/tomcat.rb
branches/SESAME_2_7/src/resources/deployment/chef/templates/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/RWStore.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/bigdataHA.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4j.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4jHA.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/zoo.cfg.erb
branches/SESAME_2_7/src/resources/deployment/nss/bin/bigdataNSS
branches/SESAME_2_7/src/resources/deployment/vagrant/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createSecurityGroup.py
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Berksfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Gemfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Thorfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.mapgraph
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.nss
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.nss.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.dual-provider.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/aws.rc
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/chefignore
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/metadata.rb
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Berksfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Gemfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Thorfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.ha1
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.ha3
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.nss
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.nss.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.tomcat.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/chefignore
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/metadata.rb
Removed Paths:
-------------
branches/SESAME_2_7/bigdata/src/resources/deployment/
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/SimpleStoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/StoredQueryService.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/service/storedquery/package.html
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/AbstractApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForIndexManager.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/ApiTaskForJournal.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/IApiTask.java
branches/SESAME_2_7/bigdata-rdf/src/java/com/bigdata/rdf/task/package.html
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestAll.java
branches/SESAME_2_7/bigdata-rdf/src/test/com/bigdata/rdf/sparql/ast/service/storedquery/TestStoredQueryService.java
branches/SESAME_2_7/src/resources/deployment/brew/bigdata.rb
branches/SESAME_2_7/src/resources/deployment/chef/README.md
branches/SESAME_2_7/src/resources/deployment/chef/attributes/
branches/SESAME_2_7/src/resources/deployment/chef/attributes/default.rb
branches/SESAME_2_7/src/resources/deployment/chef/metadata.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/
branches/SESAME_2_7/src/resources/deployment/chef/recipes/high_availability.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/java7.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/mapgraph.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/nss.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/ssd.rb
branches/SESAME_2_7/src/resources/deployment/chef/recipes/tomcat.rb
branches/SESAME_2_7/src/resources/deployment/chef/templates/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/RWStore.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/etc/default/bigdataHA.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4j.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/log4jHA.properties.erb
branches/SESAME_2_7/src/resources/deployment/chef/templates/default/zoo.cfg.erb
branches/SESAME_2_7/src/resources/deployment/nss/bin/bigdata
branches/SESAME_2_7/src/resources/deployment/nss/etc/jetty.xml
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/Vagrantfile.aws.ha3.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createCluster.sh
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/createSecurityGroup.py
branches/SESAME_2_7/src/resources/deployment/vagrant/bigdata-aws-ha3-launcher/bin/setHosts.py
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Berksfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Gemfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Thorfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.mapgraph
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.nss
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.nss.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.aws.tomcat.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/Vagrantfile.dual-provider.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/aws.rc
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/chefignore
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/AWS/metadata.rb
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Berksfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Gemfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/README.txt
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Thorfile
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.ha1
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.ha3
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.nss
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.nss.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.tomcat
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/Vagrantfile.tomcat.build-from-svn
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/chefignore
branches/SESAME_2_7/src/resources/deployment/vagrant/samples/VirtualBox/metadata.rb
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/Banner.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/Banner.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/Banner.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -55,7 +55,6 @@
* the copyright banner is always written out on bigdata startup.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public class Banner {
@@ -70,7 +69,6 @@
* Environment variables understood by the {@link Banner} class.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public interface Options {
@@ -249,23 +247,52 @@
}
/**
- * Use reflection to discover and report on the bigdata build information. A
- * <code>com.bigdata.BuildInfo</code> is built when the JAR is created.
- * However, it may not be present when running under an IDE from the source
- * code and, therefore, there MUST NOT be any compile time references to the
- * <code>com.bigdata.BuildInfo</code> class. This method uses reflection to
- * avoid a compile time dependency.
+ * An interface which declares the keys for the map returned by
+ * {@link Banner#getBuildInfo()} .
+ *
+ * @author <a href="mailto:tho...@us...">Bryan
+ * Thompson</a>
+ */
+ public interface BuildInfoMeta {
+ /** The bigdata release version. */
+ String buildVersion = "buildVersion";
+ /** The source code revision. */
+ String svnRevision = "svnRevision";
+ /** The source code repository URL for the branch. */
+ String svnURL = "svnURL";
+ /** The timestamp of the build. */
+ String buildTimestamp = "buildTimestamp";
+ /** The username that performed the build. */
+ String buildUser = "buildUser";
+ /** The hostname on which the build was performed. */
+ String buildHost = "buildHost";
+ /** The OS architecture on which the build was performed. */
+ String osArch = "osArch";
+ /** The OS name on which the build was performed. */
+ String osName = "osName";
+ /** The OS version on which the build was performed. */
+ String osVersion = "osVersion";
+ }
+
+ /**
+ * Method used to discover and report on the bigdata build information. A
+ * <code>com.bigdata.BuildInfo</code> class is built when the JAR is
+ * created. However, it may not be present when running under an IDE from
+ * the source code and, therefore, there MUST NOT be any compile time
+ * references to the <code>com.bigdata.BuildInfo</code> class. This method
+ * uses reflection to avoid a compile time dependency.
* <p>
- * Note: This method works fine. However, the problem with exposing the
- * information is that people running from an IDE can observe <em>stale</em>
- * data from old <code>com.bigdata.BuildInfo</code> class files left from a
- * previous build of a JAR. This makes the information good for deployed
- * versions of the JAR but potentially misleading when people are running
- * under an IDE.
+ * Note: This method works fine. However, people running from an IDE will
+ * observe <em>stale</em> data from old <code>com.bigdata.BuildInfo</code>
+ * class files left from a previous build of a JAR. This makes the
+ * information good for deployed versions of the JAR but potentially
+ * misleading when people are running under an IDE.
*
* @return Build info metadata iff available.
+ *
+ * @see BuildInfoMeta
*/
- private synchronized static Map<String,String> getBuildInfo() {
+ public synchronized static Map<String,String> getBuildInfo() {
if (buildInfoRef.get() == null) {
@@ -341,7 +368,7 @@
final StringBuilder s = new StringBuilder();
- s.append("\nbuildVersion=" + getBuildInfo().get("buildVersion"));
+ s.append("\nbuildVersion=" + getBuildInfo().get(BuildInfoMeta.buildVersion));
// s.append("\nsvnRevision =" + getBuildInfo().get("svnRevision"));
@@ -349,6 +376,28 @@
}
+ /**
+ * Attempts to return the build version (aka the release version) from the
+ * <code>com.bigdata.BuildInfo</code> class. This class is generated by
+ * <code>build.xml</code> and is NOT available from the IDE. It is correct
+ * discovered using reflection.
+ *
+ * @return Build version if available and <code>null</code> otherwise.
+ *
+ * @see #getBuildInfo()
+ */
+ public final static String getVersion() {
+
+ if (getBuildInfo().isEmpty()) {
+
+ return null;
+
+ }
+
+ return getBuildInfo().get(BuildInfoMeta.buildVersion);
+
+ }
+
/**
* Outputs the banner and exits.
*
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/BigdataStatics.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/BigdataStatics.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/BigdataStatics.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -27,12 +27,14 @@
package com.bigdata;
+import com.bigdata.journal.IIndexManager;
+import com.bigdata.relation.AbstractRelation;
+
/**
* A class for those few statics that it makes sense to reference from other
* places.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
public class BigdataStatics {
@@ -109,4 +111,20 @@
}
+ /**
+ * FIXME GROUP COMMIT : Disable/Enable group commit on the Journal from the
+ * NSS API. Some global flag should control this and also disable the
+ * journal's semaphore and should disable the wrapping of BTree as an
+ * UnisolatedReadWriteIndex (
+ * {@link AbstractRelation#getIndex(IIndexManager, String, long)}, and
+ * should disable the calls to commit() or abort() from the LocalTripleStore
+ * to the Journal.
+ *
+ * @see <a href="http://sourceforge.net/apps/trac/bigdata/ticket/753" > HA
+ * doLocalAbort() should interrupt NSS requests and AbstractTasks </a>
+ * @see <a href="- http://sourceforge.net/apps/trac/bigdata/ticket/566" >
+ * Concurrent unisolated operations against multiple KBs </a>
+ */
+ public static final boolean NSS_GROUP_COMMIT = Boolean.getBoolean("com.bigdata.nssGroupCommit");
+
}
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryJoinAnnotations.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryJoinAnnotations.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryJoinAnnotations.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -33,11 +33,6 @@
* Annotations for joins against a subquery.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id: SubqueryJoinAnnotations.java 5491 2011-11-02 20:11:07Z
- * thompsonbry $
- *
- * @deprecated With {@link SubqueryOp}, which is the sole class which extends
- * this interface.
*/
public interface SubqueryJoinAnnotations extends JoinAnnotations,
SubqueryAnnotations {
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryOp.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/controller/SubqueryOp.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -92,20 +92,28 @@
* evaluation semantics under these conditions. This is handled by "projecting"
* only those variables into the subquery which it will project out.
*
+ * <h3>Efficiency</h3>
+ *
+ * This non-vectored operator issues one sub-query per source solution flowing
+ * into the operator. In general, it is MUCH more efficient to vector the
+ * solutions into a sub-plan. The latter is accomplished by building a hash
+ * index over the source solutions, flooding them into the sub-plan, and then
+ * executing the appropriate hash join back against the source solutions after
+ * the sub-plan.
+ * <p>
+ * There are a few cases where it may make sense to use the non-vectored
+ * operator. For example, for EXISTS where LIMIT ONE can be imposed on the
+ * subquery. However, there can still be cases where the vectored sub-plan is
+ * more efficient.
+ *
* @see AbstractSubqueryOp
* @see JVMNamedSubqueryOp
* @see HTreeNamedSubqueryOp
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
*
- * @deprecated This operator is no longer in use. The last use case which we had
- * for this was in support of ASK subquery evaluation for (NOT)
- * EXISTS.
- * <p>
- * It is possible that another use case MIGHT be found to support
- * parallel evaluation of named subqueries. However, that also might
- * be handled by a thread pool if we move to interleaved query plan
- * generation and query plan evaluation in support of the RTO.
+ * @see <a href="http://trac.bigdata.com/ticket/988"> bad performance for FILTER
+ * EXISTS </a>
*/
public class SubqueryOp extends PipelineOp {
@@ -222,6 +230,7 @@
}
+ @Override
public FutureTask<Void> eval(final BOpContext<IBindingSet> context) {
return new FutureTask<Void>(new ControllerTask(this, context));
@@ -287,6 +296,7 @@
/**
* Evaluate the subquery.
*/
+ @Override
public Void call() throws Exception {
try {
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/AbstractRunningQuery.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/AbstractRunningQuery.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/AbstractRunningQuery.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -99,7 +99,6 @@
* first result when compared with pipelined evaluation.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*/
abstract public class AbstractRunningQuery implements IRunningQuery {
@@ -146,13 +145,13 @@
/** The unique identifier for this query. */
final private UUID queryId;
- /**
- * The query deadline. The value is the system clock time in milliseconds
- * when the query is due and {@link Long#MAX_VALUE} if there is no deadline.
- * In order to have a guarantee of a consistent clock, the deadline is
- * interpreted by the query controller.
- */
- final private AtomicLong deadline = new AtomicLong(Long.MAX_VALUE);
+// /**
+// * The query deadline. The value is the system clock time in milliseconds
+// * when the query is due and {@link Long#MAX_VALUE} if there is no deadline.
+// * In order to have a guarantee of a consistent clock, the deadline is
+// * interpreted by the query controller.
+// */
+// final private AtomicLong deadline = new AtomicLong(Long.MAX_VALUE);
/**
* The timestamp (ms) when the query begins to execute.
@@ -1744,7 +1743,7 @@
lock.lock();
try {
sb.append(",elapsed=" + getElapsed());
- sb.append(",deadline=" + deadline.get());
+ sb.append(",deadline=" + runState.getDeadline());
sb.append(",isDone=" + isDone());
sb.append(",isCancelled=" + isCancelled());
sb.append(",runState=" + runState);
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/IRunningQuery.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/IRunningQuery.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/IRunningQuery.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -114,8 +114,8 @@
Map<Integer/* bopId */, BOpStats> getStats();
/**
- * Return the query deadline (the time at which it will terminate regardless
- * of its run state).
+ * Return the query deadline in milliseconds (the time at which it will
+ * terminate regardless of its run state).
*
* @return The query deadline (milliseconds since the epoch) and
* {@link Long#MAX_VALUE} if no explicit deadline was specified.
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryDeadline.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryDeadline.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryDeadline.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -19,9 +19,9 @@
class QueryDeadline implements Comparable<QueryDeadline> {
/**
- * The deadline for this query.
+ * The deadline for this query (in nanoseconds).
*/
- final long deadline;
+ final long deadlineNanos;
/**
* A reference to the query.
@@ -33,14 +33,14 @@
/**
*
- * @param deadline
- * The deadline.
+ * @param deadlineNanos
+ * The deadline for this query (in nanoseconds).
* @param query
* The query.
*/
- public QueryDeadline(final long deadline, final AbstractRunningQuery query) {
+ public QueryDeadline(final long deadlineNanos, final AbstractRunningQuery query) {
- this.deadline = deadline;
+ this.deadlineNanos = deadlineNanos;
this.queryRef = new WeakReference<AbstractRunningQuery>(query);
@@ -61,8 +61,8 @@
*/
@Override
public int compareTo(final QueryDeadline o) {
- final long d0 = this.deadline;
- final long d1 = o.deadline;
+ final long d0 = this.deadlineNanos;
+ final long d1 = o.deadlineNanos;
if (d0 < d1)
return -1;
if (d0 > d1)
@@ -74,13 +74,13 @@
* Check the deadline on the query. If the query is not terminated and the
* deadline has expired, then the query is terminated as a side-effect.
*
- * @param now
+ * @param nowNanosIsIgnored
* A current timestamp.
*
* @return <code>null</code> if the query is terminated and
* <code>this</code> if the query is not terminated.
*/
- QueryDeadline checkDeadline(final long now) {
+ QueryDeadline checkDeadline(final long nowNanosIsIgnored) {
final AbstractRunningQuery q = queryRef.get();
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -195,7 +195,6 @@
* query manager task for the terminated join.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id$
*
* @todo Expander patterns will continue to exist until we handle the standalone
* backchainers in a different manner for scale-out so add support for
@@ -669,15 +668,17 @@
throw new IllegalArgumentException();
}
- deadlineQueue.add(new QueryDeadline(deadline, query));
+ final long deadlineNanos = TimeUnit.MILLISECONDS.toNanos(deadline);
+ deadlineQueue.add(new QueryDeadline(deadlineNanos, query));
+
}
/**
* Scan the priority queue of queries with a specified deadline, halting any
* queries whose deadline has expired.
*/
- static private void checkDeadlines(final long now,
+ static private void checkDeadlines(final long nowNanos,
final PriorityBlockingQueue<QueryDeadline> deadlineQueue) {
/*
@@ -690,7 +691,7 @@
* Check the head of the deadline queue for any queries whose
* deadline has expired.
*/
- checkHeadOfDeadlineQueue(now, deadlineQueue);
+ checkHeadOfDeadlineQueue(nowNanos, deadlineQueue);
if (deadlineQueue.size() > DEADLINE_QUEUE_SCAN_SIZE) {
@@ -698,7 +699,7 @@
* Scan the deadline queue, removing entries for expired
* queries.
*/
- scanDeadlineQueue(now, deadlineQueue);
+ scanDeadlineQueue(nowNanos, deadlineQueue);
}
@@ -710,7 +711,7 @@
* Check the head of the deadline queue for any queries whose deadline has
* expired.
*/
- static private void checkHeadOfDeadlineQueue(final long now,
+ static private void checkHeadOfDeadlineQueue(final long nowNanos,
final PriorityBlockingQueue<QueryDeadline> deadlineQueue) {
QueryDeadline x;
@@ -719,7 +720,7 @@
while ((x = deadlineQueue.poll()) != null) {
// test for query done or deadline expired.
- if (x.checkDeadline(now) == null) {
+ if (x.checkDeadline(nowNanos) == null) {
/*
* This query is known to be done. It was removed from the
@@ -731,7 +732,7 @@
}
- if (x.deadline > now) {
+ if (x.deadlineNanos > nowNanos) {
/*
* This query has not yet reached its deadline. That means that
@@ -757,7 +758,7 @@
* has not be reached. Therefore, periodically, we need to scan the queue
* and clear out entries for terminated queries.
*/
- static private void scanDeadlineQueue(final long now,
+ static private void scanDeadlineQueue(final long nowNanos,
final PriorityBlockingQueue<QueryDeadline> deadlineQueue) {
final List<QueryDeadline> c = new ArrayList<QueryDeadline>(
@@ -770,7 +771,7 @@
for (QueryDeadline x : c) {
- if (x.checkDeadline(now) != null) {
+ if (x.checkDeadline(nowNanos) != null) {
// return this query to the deadline queue.
deadlineQueue.add(x);
@@ -939,27 +940,31 @@
if(log.isInfoEnabled())
log.info("Running: " + this);
try {
- long mark = System.currentTimeMillis();
- long remaining = DEADLINE_CHECK_MILLIS;
+ final long deadline = TimeUnit.MILLISECONDS
+ .toNanos(DEADLINE_CHECK_MILLIS);
+ long mark = System.nanoTime();
+ long remaining = deadline;
while (true) {
try {
+ //log.warn("Polling deadline queue: remaining="+remaining+", deadlinkCheckMillis="+DEADLINE_CHECK_MILLIS);
final AbstractRunningQuery q = priorityQueue.poll(
- remaining, TimeUnit.MILLISECONDS);
- final long now = System.currentTimeMillis();
- if ((remaining = now - mark) < 0) {
+ remaining, TimeUnit.NANOSECONDS);
+ final long now = System.nanoTime();
+ if ((remaining = deadline - (now - mark)) < 0) {
+ //log.error("Checking deadline queue");
/*
* Check for queries whose deadline is expired.
- *
+ *
* Note: We only do this every DEADLINE_CHECK_MILLIS
* and then reset [mark] and [remaining].
- *
+ *
* Note: In queue.pool(), we only wait only up to
* the [remaining] time before the next check in
* queue.poll().
*/
checkDeadlines(now, deadlineQueue);
mark = now;
- remaining = DEADLINE_CHECK_MILLIS;
+ remaining = deadline;
}
// Consume chunk already on queue for this query.
if (q != null && !q.isDone())
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryLog.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryLog.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/engine/QueryLog.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -64,7 +64,6 @@
import com.bigdata.bop.solutions.SliceOp;
import com.bigdata.btree.Tuple;
import com.bigdata.counters.render.XHTMLRenderer;
-import com.bigdata.rawstore.Bytes;
import com.bigdata.rdf.sparql.ast.eval.AST2BOpJoins;
import com.bigdata.striterator.IKeyOrder;
@@ -73,7 +72,6 @@
* written.
*
* @author <a href="mailto:tho...@us...">Bryan Thompson</a>
- * @version $Id: RuleLog.java 3448 2010-08-18 20:55:58Z thompsonbry $
*/
public class QueryLog {
@@ -101,75 +99,84 @@
log.info(QueryLog.getTableHeader());
}
- /**
- * A single buffer is reused to keep down the heap churn.
- */
- final private static StringBuilder sb = new StringBuilder(
- Bytes.kilobyte32 * 4);
+// /**
+// * A single buffer is reused to keep down the heap churn.
+// */
+// final private static StringBuilder sb = new StringBuilder(
+// Bytes.kilobyte32 * 4);
/**
- * Log rule execution statistics.
+ * Log rule execution statistics @ INFO.
*
* @param q
* The running query.
*/
static public void log(final IRunningQuery q) {
- if (log.isInfoEnabled()) {
+ if (!log.isInfoEnabled())
+ return;
- try {
+ try {
- final IRunningQuery[] children = (q instanceof AbstractRunningQuery) ? ((AbstractRunningQuery) q)
- .getChildren() : null;
+ final IRunningQuery[] children = (q instanceof AbstractRunningQuery) ? ((AbstractRunningQuery) q)
+ .getChildren() : null;
- /*
- * Note: We could use a striped lock here over a small pool of
- * StringBuilder's to decrease contention for the single buffer
- * while still avoiding heap churn for buffer allocation. Do
- * this if the monitor for this StringBuilder shows up as a hot
- * spot when query logging is enabled.
- */
- synchronized (sb) {
+ /**
+ * Note: The static StringBuilder can not be used if the parent
+ * query has child subqueries without running into a deadlock on
+ * the [sb] object. If there are no children, we could reuse the
+ * global static [sb] and the AbstractRunningQuery.lock().
+ * However, log(IRunningQuery) is ONLY invoke by
+ * AbstractRunningQuery.cancel() and then only runs IFF QueryLog
+ * is @ INFO. Since this is a rare combination, allocating a new
+ * StringBuilder object here will not have an adverse impact on
+ * the heap and avoids the possibility of a deadlock.
+ *
+ * @see <a href="http://trac.bigdata.com/ticket/992" > Deadlock
+ * between AbstractRunningQuery.cancel(), QueryLog.log(),
+ * and ArbitraryLengthPathTask</a>
+ */
+ final StringBuilder sb = new StringBuilder();
+// synchronized (sb)
+ {
- // clear the buffer.
- sb.setLength(0);
+ // clear the buffer.
+ sb.setLength(0);
- {
- final Map<Integer/* bopId */, QueueStats> queueStats = ((ChunkedRunningQuery) q)
- .getQueueStats();
+ {
+ final Map<Integer/* bopId */, QueueStats> queueStats = ((ChunkedRunningQuery) q)
+ .getQueueStats();
- logSummaryRow(q, queueStats, sb);
+ logSummaryRow(q, queueStats, sb);
- logDetailRows(q, queueStats, sb);
- }
+ logDetailRows(q, queueStats, sb);
+ }
- if (children != null) {
+ if (children != null) {
- for (int i = 0; i < children.length; i++) {
+ for (int i = 0; i < children.length; i++) {
- final IRunningQuery c = children[i];
-
- final Map<Integer/* bopId */, QueueStats> queueStats = ((ChunkedRunningQuery) c)
- .getQueueStats();
-
- logSummaryRow(c, queueStats, sb);
-
- logDetailRows(c, queueStats, sb);
+ final IRunningQuery c = children[i];
+
+ final Map<Integer/* bopId */, QueueStats> queueStats = ((ChunkedRunningQuery) c)
+ .getQueueStats();
+
+ logSummaryRow(c, queueStats, sb);
+
+ logDetailRows(c, queueStats, sb);
- }
-
}
+
+ }
- log.info(sb);
+ log.info(sb);
- }
-
- } catch (RuntimeException t) {
-
- log.error(t,t);
-
}
+
+ } catch (RuntimeException t) {
+ log.error(t,t);
+
}
}
Modified: branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java
===================================================================
--- branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java 2014-07-17 14:10:21 UTC (rev 8566)
+++ branches/SESAME_2_7/bigdata/src/java/com/bigdata/bop/paths/ArbitraryLengthPathOp.java 2014-07-17 14:57:42 UTC (rev 8567)
@@ -52,6 +52,7 @@
import com.bigdata.bop.engine.AbstractRunningQuery;
import com.bigdata.bop.engine.IRunningQuery;
import com.bigdata.bop.engine.QueryEngine;
+import com.bigdata.bop.join.JVMDistinctFilter;
import cutthecrap.utils.striterators.ICloseableIterator;
@@ -83,6 +84,10 @@
* solutions from the subquery with those in the parent context.
*
* @author <a href="mailto:mpe...@us...">Mike Personick</a>
+ *
+ * TODO There should be two version of this operator. One for the JVM
+ * heap and another for the native heap. This will help when large
+ * amounts of data are materialized by the internal collections.
*/
public class ArbitraryLengthPathOp extends PipelineOp {
@@ -187,6 +192,7 @@
}
+ @Override
public FutureTask<Void> eval(final BOpContext<IBindingSet> context) {
return new FutureTask<Void>(new ArbitraryLengthPathTask(this, context));
@@ -251,6 +257,7 @@
}
+ @Override
public Void call() throws Exception {
...
[truncated message content] |