1
0
Fork 0
Commit Graph

18 Commits

Author SHA1 Message Date
Michael Hackstein 5781cc98e2 Preliminary implementation of fetchShadowRow. Also added now fully green test implementation of WAITING block mock. Now modify the Fetcher tests 2019-10-14 13:15:50 +02:00
Michael Hackstein 8fcdecdedd Merge branch 'devel' of ssh://github.com/arangodb/ArangoDB into feature/AqlSubqueryShadowRowsInExecutionBlockImpl 2019-10-10 13:45:17 +02:00
Tobias Gödderz 6528c592c5 Bug fix/fix remote executor races (#10206)
* Fix races in RemoteExecutor

* Removed #ifdef
2019-10-10 12:36:53 +02:00
Michael Hackstein 3129ae2ae2 Modified skipSome API to allow to pass in a Subquery Depth. This is NOT honored yet. 2019-10-09 17:02:38 +02:00
Simon cb7bf0314b Use fuerte in RemoteExecutor (#10077) 2019-09-27 16:20:38 +02:00
Tobias Gödderz 4ea18d9031 Improved query tracing, especially useful for cluster queries (#10091)
* Improved query tracing, especially useful for cluster queries

* Fix duplicate log id
2019-09-27 10:52:22 +02:00
Tobias Gödderz 82b0a5e745 De-inline in AQL (#10025)
* Enable IPO (LTO) via CMake

* Use separate IPO_ENABLED variable

* Enabled IPO for more binaries

* Enabled IPO for arangobackup

* Suppress an MSVC warning (though it is not unjustified...)

* Fix static builds, broken due to Policy CMP0060 introduced in cmake 3.3

* Removed policies superseded by minimum cmake version

* Disable IPO with google tests due to a g++ bug

* Disable IPO with google tests only on AUTO

* Disable warning for correct line

* Begin de-inlining Aql

* de-inlining Aql: 2nd batch

* de-inlining Aql: 3rd batch

* de-inlining Aql: 4th batch

* Moved code out of ifdef

* Enabled IPO for additional libs

* Fixed some problems found with IPO enabled

- Fixed ODR violation in Pregel
- Removed unused code in ClusterMethods
- Avoid possible uninitialized variable usage

* Set IPO globally, except for 3rdParty libs

* De-inlined AstHelper again (was undone due to a previous merge conflict)

* Added missing .cpp file

* Fixed compilation with MSVC

* Removed superfluous includes from deinlined AQL header files

* Added includes for size_t

* Deleted outdated files

* De-inlined files that were undone during the merge

* Removed includes from files that were undone during merge

* Fixed merge conflicts
2019-09-25 11:20:03 +02:00
Jan Christoph Uhde 0b8c75c7b7 one shard db - devel (#9395) 2019-09-23 15:48:37 +02:00
Jan 5572675106
Bug fix/remove base directory from include path (#9885) 2019-09-04 17:39:01 +02:00
Dan Larkin-York d5ecdd143a Convert unit tests to googletest framework (#9034) 2019-05-21 09:17:46 +02:00
Tobias Gödderz 9f09b2fb15 Avoid occasional query id not found errors (#8914) 2019-05-07 13:41:09 +02:00
Tobias Gödderz 08afad7296 Remove AqlItemBlockShell (#8681)
* Added RemoteExecutor skeleton

* Moved RemoteBlock implementations to ExecutionBlockImpl<RemoteExecutor>

* Remove unnecessary include to avoid unused function warnings

* Fixed gcc compile error

* Moved Scatter/Distribute block implementations to their new Executor versions

* Applied clang-format

* Added factory, infos and a skeleton for the unordered view executor

* Removed assert based on wrong assumption

* Added members from IResearchViewBlockBase to IResearchViewExecutor

* Moved more code into the ViewExecutor, hopefully enough to produce a working version now

* Added missing reset code, made produceRow work mostly correct

* Removed superfluous parentheses to get more useful output from Catch

* Ported fix 923b6e81ac723d1fe37f8e7bf1ab81149f3a08ef

Original commit message was:
Fixed a race condition in RemoteBlock which was triggered during
shutdown overtaking getSome.

* Applied review comments

* Inject input row instead of an item block + pos into the expression context, plus fixed some tests

* Adapted test. Search tests are now green.

* Do not ask upstream when already DONE

* Removed `limit` from next()

* Simplified code that could handle producing more than one document

* Minor readability change

* Solved two TODOs noted in the review

* Removed leftover references to DistributeNode members in the DistributeBlock

* Reverted removal of "exhausted"

* WIP: Implemented variant with scorers

* Fixed compile errors of the last commit

* Fixed some asserts and calculations

* Fixed violated assertions

* Moved files from IResearch/ to Aql/

* Replaced recursive call with a loop

* Worked on a few TODOs

* Removed IResearchViewBlock

* Set input registers correctly

* Eliminated dependency to the Node in the Executor

* Don't misuse the volatility variables for initialization

* Extended a TODO note

* Removed obsolete includes

* Removed an obsolete include from the tests

* Added missing include

* Read PKs in batches

* Fixed merge conflict

* Fixed merge conflict

* Restrict prefetching of PKs to the number of rows in the current output block

* Fixed merge

* Fix IResearch ASan errors

* Revert "Restrict prefetching of PKs to the number of rows in the current output block"

This reverts commit e0fd8698a3.

* Revert "Read PKs in batches"

This reverts commit c06c4d7a36.

* Began some small step refactoring to introduce batch-reading correctly

* Extracted method fillBuffer

* Extracted method evaluateScores

* Minor changes

* Read data from iresearch index in batches

* Replaced std::deque<IndexResult> buffer by a new class

* Solved minor TODOs

* Fixed last commit

* Fixed merge conflict

* Removed accidentally re-added view blocks

* Implemented SharedAqlItemBlockPtr

* Replaced all AqlItemBlockShell, shared_ptr<AqlItemBlock>, unique_ptr<AqlItemBlock> with SharedAqlItemBlockPtr

* Removed AqlItemBlockShell

* Bugfixes

* Added missing noexcept (used in returnBlock())

* Added nullptr constructor/operator= and noexcept specs

* Removed references to the shell

* Implemented review comments

* Fixed a compile error clang somehow ignored

* Two bugfixes and additional asserts

* Fixed ASan error

* protected AqlItemBlock destructor, and some cleanup

* added SharedAqlItemBlockPtr include in QueryCursor.h

* Added some asserts

* Fixed merge conflicts

* protected returnBlock in AqlItemBlockManager
2019-04-12 19:52:01 +02:00
Heiko 8e308680d8 Bug fix/exec block cleanup (#8710)
* remove unused functions

* more cleanup, virtual functions

* rm old functions

* more cleanup

* more cleanup, rm unused code

* rm of inheritRegisters and cleaerRegisters

* more cleanup, move functions into IMPL and cluster blocks

* used wrong shutdown function

* rm not reachable code

* moved lots of ExecutionBlock stuff to Impl and ClusterBlocks

* trace functions back to executionblock

* rm trace

* rm empty protected

* this getBlock addition, might be useless

* more fixes

* fixes for the distribute executor, hopefully almost done now

* removed obsolete todos

* shutdown var order

* applied requested changes

* re added const

* suppress a warning

* added forgotten test changes

* default destructor, removed not needed function

* refactor name

* Update tests/CMakeLists.txt

Co-Authored-By: hkernbach <hkernbach@users.noreply.github.com>
2019-04-12 16:11:03 +02:00
Vasiliy 3a3c360765 issue 526.5: add analyzer retrieval functionality (#8592) 2019-03-29 13:23:36 +01:00
Michael Hackstein 48b709ae16
Feature/subquery by line (#8553)
Subquery Executor by line
2019-03-25 17:02:07 +01:00
Jan e078f35285
fixed typos, removed unneeded includes (#8547) 2019-03-25 12:09:37 +01:00
Michael Hackstein 14bcc37e36 Fix a race in RemoteExecutor (#8516) 2019-03-22 10:52:16 +01:00
Tobias Gödderz fc5f75a452 Implement RemoteExecutor (#8280) 2019-03-11 10:16:55 +01:00