From 4d317798e354340550be9edfa4bf2b62bcdf6b6e Mon Sep 17 00:00:00 2001 From: jsteemann Date: Thu, 30 Jan 2020 14:18:31 +0100 Subject: [PATCH 1/3] make http_replication tests clean up their collections --- js/client/modules/@arangodb/result-processing.js | 14 +++++++------- js/client/modules/@arangodb/testing.js | 2 +- .../api-replication-global-spec.rb | 9 ++++++++- .../api-replication-mmfiles-spec.rb | 15 +++++++++++++++ .../api-replication-rocksdb-spec.rb | 14 ++++++++++++++ 5 files changed, 45 insertions(+), 9 deletions(-) diff --git a/js/client/modules/@arangodb/result-processing.js b/js/client/modules/@arangodb/result-processing.js index d4fceab10b7e..4613f271ca7d 100644 --- a/js/client/modules/@arangodb/result-processing.js +++ b/js/client/modules/@arangodb/result-processing.js @@ -510,11 +510,11 @@ ${failedMessages}${color} * Overall state: ${statusMessage}${RESET}${crashText}$ if (crashedText !== '') { onlyFailedMessages += '\n' + crashedText; } - fs.write(options.testOutputDirectory + options.testFailureText, onlyFailedMessages); + fs.write(fs.join(options.testOutputDirectory, options.testFailureText), onlyFailedMessages); if (cu.GDB_OUTPUT !== '' && options.crashAnalysisText !== options.testFailureText ) { // write more verbose failures to the testFailureText file - fs.write(options.testOutputDirectory + options.crashAnalysisText, cu.GDB_OUTPUT); + fs.write(fs.join(options.testOutputDirectory, options.crashAnalysisText), cu.GDB_OUTPUT); } } @@ -768,8 +768,8 @@ function locateShortServerLife(options, results) { // ////////////////////////////////////////////////////////////////////////////// function writeDefaultReports(options, testSuites) { - fs.write(options.testOutputDirectory + '/UNITTEST_RESULT_EXECUTIVE_SUMMARY.json', "false", true); - fs.write(options.testOutputDirectory + '/UNITTEST_RESULT_CRASHED.json', "true", true); + fs.write(fs.join(options.testOutputDirectory, 'UNITTEST_RESULT_EXECUTIVE_SUMMARY.json'), "false", true); + fs.write(fs.join(options.testOutputDirectory, 'UNITTEST_RESULT_CRASHED.json'), "true", true); let testFailureText = 'testfailures.txt'; if (options.hasOwnProperty('testFailureText')) { testFailureText = options.testFailureText; @@ -781,8 +781,8 @@ function writeDefaultReports(options, testSuites) { } function writeReports(options, results) { - fs.write(options.testOutputDirectory + '/UNITTEST_RESULT_EXECUTIVE_SUMMARY.json', String(results.status), true); - fs.write(options.testOutputDirectory + '/UNITTEST_RESULT_CRASHED.json', String(results.crashed), true); + fs.write(fs.join(options.testOutputDirectory, 'UNITTEST_RESULT_EXECUTIVE_SUMMARY.json'), String(results.status), true); + fs.write(fs.join(options.testOutputDirectory, 'UNITTEST_RESULT_CRASHED.json'), String(results.crashed), true); } function dumpAllResults(options, results) { @@ -794,7 +794,7 @@ function dumpAllResults(options, results) { j = inspect(results); } - fs.write(options.testOutputDirectory + '/UNITTEST_RESULT.json', j, true); + fs.write(fs.join(options.testOutputDirectory, 'UNITTEST_RESULT.json'), j, true); } diff --git a/js/client/modules/@arangodb/testing.js b/js/client/modules/@arangodb/testing.js index fd8b63cf2662..fe818f235d68 100755 --- a/js/client/modules/@arangodb/testing.js +++ b/js/client/modules/@arangodb/testing.js @@ -204,7 +204,7 @@ const optionsDefaults = { 'storageEngine': 'rocksdb', 'test': undefined, 'testBuckets': undefined, - 'testOutputDirectory': 'out/', + 'testOutputDirectory': 'out', 'useReconnect': true, 'username': 'root', 'valgrind': false, diff --git a/tests/rb/HttpReplication/api-replication-global-spec.rb b/tests/rb/HttpReplication/api-replication-global-spec.rb index 08569908fe75..b6c6c7d0ac18 100644 --- a/tests/rb/HttpReplication/api-replication-global-spec.rb +++ b/tests/rb/HttpReplication/api-replication-global-spec.rb @@ -225,9 +225,16 @@ ################################################################################ context "dealing with wal access api" do - api = "/_api/wal" prefix = "api-wal" + + before do + ArangoDB.drop_collection("UnitTestsReplication") + end + + after do + ArangoDB.drop_collection("UnitTestsReplication") + end ################################################################################ ## state diff --git a/tests/rb/HttpReplication/api-replication-mmfiles-spec.rb b/tests/rb/HttpReplication/api-replication-mmfiles-spec.rb index e6af168c3a6f..020b7117020d 100644 --- a/tests/rb/HttpReplication/api-replication-mmfiles-spec.rb +++ b/tests/rb/HttpReplication/api-replication-mmfiles-spec.rb @@ -243,6 +243,14 @@ context "dealing with the logger" do + before do + ArangoDB.drop_collection("UnitTestsReplication") + end + + after do + ArangoDB.drop_collection("UnitTestsReplication") + end + ################################################################################ ## state ################################################################################ @@ -1448,6 +1456,13 @@ ################################################################################ context "dealing with the logger" do + before do + ArangoDB.drop_collection("UnitTestsReplication") + end + + after do + ArangoDB.drop_collection("UnitTestsReplication") + end ################################################################################ ## state diff --git a/tests/rb/HttpReplication/api-replication-rocksdb-spec.rb b/tests/rb/HttpReplication/api-replication-rocksdb-spec.rb index 48b7149d5f77..99ba5b46b4bd 100644 --- a/tests/rb/HttpReplication/api-replication-rocksdb-spec.rb +++ b/tests/rb/HttpReplication/api-replication-rocksdb-spec.rb @@ -242,6 +242,13 @@ ################################################################################ context "dealing with the logger" do + before do + ArangoDB.drop_collection("UnitTestsReplication") + end + + after do + ArangoDB.drop_collection("UnitTestsReplication") + end ################################################################################ ## state @@ -1413,6 +1420,13 @@ ################################################################################ context "dealing with the logger" do + before do + ArangoDB.drop_collection("UnitTestsReplication") + end + + after do + ArangoDB.drop_collection("UnitTestsReplication") + end ################################################################################ ## state From a471de73718857eee10b581c431c3aed7b6ab42e Mon Sep 17 00:00:00 2001 From: jsteemann Date: Thu, 30 Jan 2020 14:19:15 +0100 Subject: [PATCH 2/3] remove unneeded fuerte dependency from arangoimport build --- arangosh/CMakeLists.txt | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/arangosh/CMakeLists.txt b/arangosh/CMakeLists.txt index dc3abe61d3f8..0fd8cbe231bc 100644 --- a/arangosh/CMakeLists.txt +++ b/arangosh/CMakeLists.txt @@ -80,7 +80,7 @@ endif () if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangobench PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangobench PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangobench PRIVATE -Werror -Wno-error=deprecated-declarations) endif () @@ -139,7 +139,7 @@ endif () if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangobackup PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangobackup PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangobackup PRIVATE -Werror -Wno-error=deprecated-declarations) endif () @@ -198,7 +198,7 @@ endif () if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangodump PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangodump PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangodump PRIVATE -Werror -Wno-error=deprecated-declarations) endif () @@ -254,7 +254,7 @@ endif () if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangoexport PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangoexport PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangoexport PRIVATE -Werror -Wno-error=deprecated-declarations) endif () @@ -290,7 +290,6 @@ target_link_libraries(${BIN_ARANGOIMPORT} arango ${MSVC_LIBS} ${SYSTEM_LIBRARIES} - fuerte boost_system boost_boost arango_shell @@ -322,7 +321,7 @@ install_command_alias(arangoimport if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangoimport PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangoimport PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangoimport PRIVATE -Werror -Wno-error=deprecated-declarations) endif () @@ -379,7 +378,7 @@ endif () if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangorestore PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangorestore PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangorestore PRIVATE -Werror -Wno-error=deprecated-declarations) endif () @@ -444,7 +443,7 @@ endif () if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangosh PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangosh PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangosh PRIVATE -Werror -Wno-error=deprecated-declarations) endif () @@ -500,7 +499,7 @@ endif () if (USE_FAIL_ON_WARNINGS) if (MSVC) - target_compile_options(arangovpack PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) + target_compile_options(arangovpack PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS) else () target_compile_options(arangovpack PRIVATE -Werror -Wno-error=deprecated-declarations) endif () From 1772c905993843204071e28eea4f7cea36b35654 Mon Sep 17 00:00:00 2001 From: jsteemann Date: Thu, 30 Jan 2020 14:26:45 +0100 Subject: [PATCH 3/3] remove some unused functionality --- arangod/Aql/EnumerateCollectionExecutor.cpp | 22 +++++-------------- arangod/Aql/EnumerateCollectionExecutor.h | 9 -------- arangod/Aql/ExecutionNode.cpp | 4 +--- tests/Aql/EnumerateCollectionExecutorTest.cpp | 3 +-- 4 files changed, 7 insertions(+), 31 deletions(-) diff --git a/arangod/Aql/EnumerateCollectionExecutor.cpp b/arangod/Aql/EnumerateCollectionExecutor.cpp index 7254105c9330..446b3d0a949c 100644 --- a/arangod/Aql/EnumerateCollectionExecutor.cpp +++ b/arangod/Aql/EnumerateCollectionExecutor.cpp @@ -42,6 +42,10 @@ using namespace arangodb; using namespace arangodb::aql; + +namespace { +std::vector const emptyAttributePositions; +} EnumerateCollectionExecutorInfos::EnumerateCollectionExecutorInfos( RegisterId outputRegister, RegisterId nrInputRegisters, RegisterId nrOutputRegisters, @@ -52,7 +56,6 @@ EnumerateCollectionExecutorInfos::EnumerateCollectionExecutorInfos( Collection const* collection, Variable const* outVariable, bool produceResult, Expression* filter, std::vector const& projections, - std::vector const& coveringIndexAttributePositions, bool useRawDocumentPointers, bool random) : ExecutorInfos(make_shared_unordered_set(), make_shared_unordered_set({outputRegister}), @@ -63,7 +66,6 @@ EnumerateCollectionExecutorInfos::EnumerateCollectionExecutorInfos( _outVariable(outVariable), _filter(filter), _projections(projections), - _coveringIndexAttributePositions(coveringIndexAttributePositions), _outputRegisterId(outputRegister), _useRawDocumentPointers(useRawDocumentPointers), _produceResult(produceResult), @@ -97,11 +99,6 @@ std::vector const& EnumerateCollectionExecutorInfos::getProjections return _projections; } -std::vector const& EnumerateCollectionExecutorInfos::getCoveringIndexAttributePositions() const - noexcept { - return _coveringIndexAttributePositions; -} - bool EnumerateCollectionExecutorInfos::getProduceResult() const { return _produceResult; } @@ -123,7 +120,7 @@ EnumerateCollectionExecutor::EnumerateCollectionExecutor(Fetcher& fetcher, Infos _infos.getProduceResult(), _infos.getQuery(), _infos.getFilter(), _infos.getProjections(), - _infos.getCoveringIndexAttributePositions(), + ::emptyAttributePositions, true, _infos.getUseRawDocumentPointers(), false), _state(ExecutionState::HASMORE), _cursorHasMore(false), @@ -260,19 +257,10 @@ std::tuple EnumerateCollection void EnumerateCollectionExecutor::initializeCursor() { _state = ExecutionState::HASMORE; _input = InputAqlItemRow{CreateInvalidInputRowHint{}}; - setAllowCoveringIndexOptimization(true); _cursorHasMore = false; _cursor->reset(); } -void EnumerateCollectionExecutor::setAllowCoveringIndexOptimization(bool const allowCoveringIndexOptimization) { - _documentProducingFunctionContext.setAllowCoveringIndexOptimization(allowCoveringIndexOptimization); -} - -bool EnumerateCollectionExecutor::getAllowCoveringIndexOptimization() const noexcept { - return _documentProducingFunctionContext.getAllowCoveringIndexOptimization(); -} - #ifndef USE_ENTERPRISE bool EnumerateCollectionExecutor::waitForSatellites(ExecutionEngine* engine, Collection const* collection) const { diff --git a/arangod/Aql/EnumerateCollectionExecutor.h b/arangod/Aql/EnumerateCollectionExecutor.h index a684432e6e4a..ff9b51127f52 100644 --- a/arangod/Aql/EnumerateCollectionExecutor.h +++ b/arangod/Aql/EnumerateCollectionExecutor.h @@ -64,7 +64,6 @@ class EnumerateCollectionExecutorInfos : public ExecutorInfos { Collection const* collection, Variable const* outVariable, bool produceResult, Expression* filter, std::vector const& projections, - std::vector const& coveringIndexAttributePositions, bool useRawDocumentPointers, bool random); EnumerateCollectionExecutorInfos() = delete; @@ -79,7 +78,6 @@ class EnumerateCollectionExecutorInfos : public ExecutorInfos { transaction::Methods* getTrxPtr() const; Expression* getFilter() const; std::vector const& getProjections() const noexcept; - std::vector const& getCoveringIndexAttributePositions() const noexcept; bool getProduceResult() const; bool getUseRawDocumentPointers() const; bool getRandom() const; @@ -91,7 +89,6 @@ class EnumerateCollectionExecutorInfos : public ExecutorInfos { Variable const* _outVariable; Expression* _filter; std::vector const& _projections; - std::vector const& _coveringIndexAttributePositions; RegisterId _outputRegisterId; bool _useRawDocumentPointers; bool _produceResult; @@ -134,12 +131,6 @@ class EnumerateCollectionExecutor { private: bool waitForSatellites(ExecutionEngine* engine, Collection const* collection) const; - void setAllowCoveringIndexOptimization(bool allowCoveringIndexOptimization); - - /// @brief whether or not we are allowed to use the covering index - /// optimization in a callback - bool getAllowCoveringIndexOptimization() const noexcept; - private: Infos& _infos; Fetcher& _fetcher; diff --git a/arangod/Aql/ExecutionNode.cpp b/arangod/Aql/ExecutionNode.cpp index 5e491ef8eddc..e29f3e5a7ca3 100644 --- a/arangod/Aql/ExecutionNode.cpp +++ b/arangod/Aql/ExecutionNode.cpp @@ -1351,9 +1351,7 @@ std::unique_ptr EnumerateCollectionNode::createBlock( getRegisterPlan()->nrRegs[previousNode->getDepth()], getRegisterPlan()->nrRegs[getDepth()], getRegsToClear(), calcRegsToKeep(), &engine, this->_collection, _outVariable, (this->isVarUsedLater(_outVariable) || this->_filter != nullptr), - this->_filter.get(), - this->projections(), this->coveringIndexAttributePositions(), - EngineSelectorFeature::ENGINE->useRawDocumentPointers(), this->_random); + this->_filter.get(), this->projections(), EngineSelectorFeature::ENGINE->useRawDocumentPointers(), this->_random); return std::make_unique>(&engine, this, std::move(infos)); } diff --git a/tests/Aql/EnumerateCollectionExecutorTest.cpp b/tests/Aql/EnumerateCollectionExecutorTest.cpp index 9b219a515e79..fea5b93c5bfe 100644 --- a/tests/Aql/EnumerateCollectionExecutorTest.cpp +++ b/tests/Aql/EnumerateCollectionExecutorTest.cpp @@ -83,7 +83,6 @@ class EnumerateCollectionExecutorTestNoRowsUpstream : public ::testing::Test { Collection abc; std::vector const projections; transaction::Methods& trx; - std::vector const coveringIndexAttributePositions; bool useRawPointers; bool random; @@ -108,7 +107,7 @@ class EnumerateCollectionExecutorTestNoRowsUpstream : public ::testing::Test { random(false), infos(0 /*outReg*/, 1 /*nrIn*/, 1 /*nrOut*/, regToClear, regToKeep, &engine, &abc, &outVariable, varUsedLater, nullptr, projections, - coveringIndexAttributePositions, useRawPointers, random), + useRawPointers, random), block(new AqlItemBlock(itemBlockManager, 1000, 2)) { // fake indexScan fakeit::When(Method(mockTrx, indexScan))