1
0
Fork 0
Commit Graph

4653 Commits

Author SHA1 Message Date
Michael Hackstein 9c8ae9dbbf Removed debug log includes 2019-12-02 17:08:40 +01:00
Michael Hackstein d83e3acfc9 Final modification of ShadowRows in FilterExecutor. All but profiling tests pass. This needs some discussion about overfetching of data, and propagation of hardLimit 2019-12-02 17:02:26 +01:00
Michael Hackstein c973149078 Fixed issue where ExecutionBlockImpl returns DONE, although there are still rows in the DataRange 2019-12-02 10:31:24 +01:00
Michael Hackstein 8307d15ed6 Added tests for AqlItemBlockInputRange and adjusted implementation accordingly. 2019-11-29 14:03:58 +01:00
Michael Hackstein 2b13d48387 Merge branch 'feature/AqlSubqueryOperationsStack' of ssh://github.com/arangodb/ArangoDB into feature/AqlSubqueryExecutionBlockImplExecuteImplementation 2019-11-28 12:51:27 +01:00
Michael Hackstein d636a10c62 Merge branch 'devel' of ssh://github.com/arangodb/ArangoDB into feature/AqlSubqueryOperationsStack 2019-11-28 12:33:38 +01:00
Michael Hackstein 40569e06e0 Merge branch 'feature/AqlSubqueryOperationsStack' of ssh://github.com/arangodb/ArangoDB into feature/AqlSubqueryExecutionBlockImplExecuteImplementation 2019-11-28 10:24:32 +01:00
Jan b610d99d9f Parallelize certain AQL write operations (#10503)
* added highly experimental startup option `--query.parallelize-gather-writes`

Turning this option on will enable the `parallelize-gather` AQL
optimizer rule for certain write queries. This option is `false`
by default.

The feature is highly experimental and should not be used on a
production system. The option is therefore also hidden.

* parallelize certain write operations in AQL

* remove unneeded _vocbase

* remove unneeded _vocbase

* added startup option and tests
2019-11-27 19:05:04 +01:00
Michael Hackstein 7a8a1dc617 Use simpleVPack printing for Trace of Execute, better to read by humans 2019-11-27 15:56:22 +01:00
Michael Hackstein 8ba440c8a1 Another fix on handling of shadow rows in InputRanges 2019-11-27 15:36:47 +01:00
Jan Christoph Uhde 1cd71a8d11 rename timeout to maxRuntime (#10552)
* rename timeout out maxRuntime

* Update CHANGELOG

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>
2019-11-27 15:08:50 +01:00
Michael Hackstein b91be5f8e2 Fixed SingleRowFetcherTest. Also an AqlItemBlockInputRange can now handle ShadowRows properly 2019-11-27 11:57:31 +01:00
Kaveh Vahedipour d11c0954e8 Missing post failure on readlock in SynchronizeShard (#7860)
* when post cannot be delivered for readlock waiting for put meningless

* devel pull

* we can rely on POST alone

* clean up

* wrong errorCode tested

* fixed nullptr

* correct timeout

* fixed nullptr

* merge devel

* log level

* maintenace default log level raised to INFO, shard synchronisation only logs start/success all WARN/ERR demoted to DEBUG

* message unification

* devel merge

* fixed query registry

* tobias remarks

* mchacki part one

* static string for rebootid

* working tests

* use the reboot tracker from clusterinfo

* use the reboot tracker from clusterinfo

* rebootid be rebootid

* fixed serverid and all working

* static strings

* callguard out of reboottracker

* call callbacks, when query is ditched

* clear priv

* change log

* my oh my

* simon attention

* merge seems fine

* typo

* fix headers
2019-11-26 17:46:26 +01:00
Tobias Gödderz a8ceab9c71 Enabled modification nodes in spliced subqueries again (#10499)
* Enabled modification nodes in spliced subqueries again

* Fixed two bugs where the shadow row depth of rows wasn't copied
2019-11-22 18:30:14 +01:00
Tobias Gödderz 913e464962 Set internal state to DONE when upstream is DONE (#10513) 2019-11-22 18:29:55 +01:00
Michael Hackstein c201dce948
Bug fix/input row serialization (#10502)
* Unified toVelocyPack of InputRow and AqlItemBlock. We can now velocypack any range within an AqlItemBlock as a new block.

* This is the fix required here. We now end exhausted false in initialize cursor. For some reason the other side checks this hard-coded value and if it is not the expected value it does ignore the send body ¯\_(ツ)_/¯

* Added test for range-based serialization
2019-11-22 08:08:53 +01:00
Tobias Gödderz 168103af88 Splicing gather cleanup (#10479)
Some cleanup and deprecation information
2019-11-21 13:00:31 +01:00
Michael Hackstein 3090e49258
Actually use the given format to execute a query (#10484)
* Actually use the given format to execute a query

* Send the serialization format of AQL from Coordinators.
2019-11-21 09:10:32 +01:00
Markus Pfeiffer 688a680023 Fix SubqueryStartExecutor (#10488)
fetchRow must not be called with `atMost == 0`, which can happen if
output.numRowsLeft() == 1.
2019-11-21 09:04:33 +01:00
Iurii Popov 9f4926bfec Feature/issue #653 (#10427)
* late document materialization for view draft

* MaterializeType

* asserts and removed std::function

* std::map -> std::array

* Common search ast nodes code to a separate file

* Unit tests for create and clone a node

* js tests

* tmp unfinished

* Replace variables for late materialization

* Move removing

* Removed wrong clears

* Fixed variable replacement

* removed old tests (for separate materialization)

* check if late materialization arangosearch rule is enabled

* js test. added space

* moved a function to anonym namespace

* Subquery assert

* Review improvements

* Review improvements 2

* View node state to a separate var (microoptimization)

* Fixed index assert

* alignment

* C++ unit tests
2019-11-20 22:11:54 +03:00
Tobias Gödderz 618ffec7cb Catch exceptions in noexcept methods (#10483) 2019-11-20 17:05:05 +01:00
Markus Pfeiffer 8e13486687 Fix bug in SubqueryEndExecutor (#10485)
* Fix bug in SubqueryEndExecutor

If a subquery was spliced, and did not get any input rows, the SubqueryEnd
executor still expected a relevant ShadowRow to be handed through, and ran into
an assertion (or otherwise crashed the server) if it didn't get one.

* Add regression test for SubqueryEndExecutor fix
2019-11-20 17:03:28 +01:00
hkernbach 45f7771b66 Merge 2019-11-20 12:33:03 +01:00
hkernbach 79117675fe single row fetcher, execute + tests 2019-11-20 11:17:24 +01:00
Jan 932f8b5874
undistribute a few more queries (#10459) 2019-11-20 08:21:44 +01:00
Tobias Gödderz cac2a279b0 Hopefully satisfy MSVC (#10469) 2019-11-19 16:25:19 +03:00
Wilfried Goesgens b0db98c702 fix windows debug build (#10465) 2019-11-19 11:11:28 +01:00
Tobias Gödderz 7a57a72620 Feature/aql subquery splicing with gather (#10341)
Allow Splicing with GATHER nodes
2019-11-18 19:05:44 +01:00
Michael Hackstein c703b11b72 first implementation of a ShadowRow fetching interface on AqlItemBlockInputRange 2019-11-18 17:14:24 +01:00
Michael Hackstein 11be23e604 Merge branch 'devel' of ssh://github.com/arangodb/ArangoDB into feature/AqlSubqueryExecutionBlockImplExecuteImplementation 2019-11-18 17:14:00 +01:00
Jan c142e8bc21
fixed issue #10440: Incorrect sorting with sort criteria partially covered by index (#10442) 2019-11-18 15:43:34 +01:00
Markus Pfeiffer bd19f67004 Remove as now unused SingleBlockFetcher (#10416) 2019-11-18 12:53:50 +01:00
Michael Hackstein 0300467ab4 Finally merged with latest devel, seems to work 2019-11-18 09:50:42 +01:00
Michael Hackstein 4d030f47c0 Intermediate devel pull, might not compile 2019-11-18 09:17:57 +01:00
Iurii Popov caffa6a22e Bug fix/fix late materialization used after sort (#10447)
* Fixed applying late materialization with calc node between sort an limit

* fixed typo

* move micro optimization

* Fixed subqueries error
2019-11-15 17:06:50 +03:00
Andrey Abramov c6fc77858f
Revert "Fixed applying late materialization with calc node between sort an limit (#10439)" (#10446)
This reverts commit e765137c3e.
2019-11-15 12:56:05 +03:00
Dronplane e765137c3e Fixed applying late materialization with calc node between sort an limit (#10439)
* Fixed applying late materialization with calc node between sort an limit

* fixed typo

* move micro optimization
2019-11-15 12:48:55 +03:00
Jan c48747f631
more cppcheck (#10435) 2019-11-14 17:01:27 +01:00
Jan 50be0caabf
fix issues found by cppcheck (#10434) 2019-11-14 12:04:24 +01:00
Simon d4233599f1 Remove IndexHandle (#10424) 2019-11-14 11:34:57 +01:00
Jan fd87abc522
allow using `RANDOM_TOKEN` AQL function with an argument value of `0`. (#10414) 2019-11-13 22:20:00 +01:00
Jan 237a3fcf07
centralize cloning functionality for AstNodes (#10430) 2019-11-13 22:18:38 +01:00
Dan Larkin-York 330c4a63b4 Don't modify a finalized node. (#10419) 2019-11-13 22:16:09 +01:00
Andrey Abramov ff93f45892
Bug fix/internal issue #651 (#10415)
* Bug fix 3.5/internal issue #651 (#10388)

* extract recursive part of IResearchLinkMeta

* avoid saving analyzer definition during link meta initialization

* add tests to check cluster deadlock

* cleanup

* code cleanup

* add moar tests

* mooooaaar checks

* make jslint happy

* backport fix for cluster startup from 3.5.2 branch

* backport changes from 3.5.2

* fix tests

* fix tests

* moar fixes

* refactor analyzer definitions tracking

* add some tests

* extend dump tests

* add tests for replication

* fix tests

* more fixes

* address jslint errors

* address review comments

* address test failures

* reflect changes in changelog

# Conflicts:
#	arangod/IResearch/IResearchAnalyzerFeature.cpp
#	arangod/IResearch/IResearchFilterFactory.cpp
#	arangod/IResearch/IResearchLink.cpp
#	arangod/IResearch/IResearchLinkMeta.cpp
#	tests/IResearch/IResearchAnalyzerFeature-test.cpp
#	tests/IResearch/IResearchDocument-test.cpp
#	tests/IResearch/IResearchFilterBoolean-test.cpp
#	tests/IResearch/IResearchFilterCompare-test.cpp
#	tests/IResearch/IResearchFilterFunction-test.cpp
#	tests/IResearch/IResearchFilterIn-test.cpp
#	tests/IResearch/IResearchLinkHelper-test.cpp
#	tests/IResearch/IResearchLinkMeta-test.cpp
#	tests/IResearch/IResearchView-test.cpp
#	tests/V8Server/v8-analyzers-test.cpp

* fix tests

* fix tests

* Fix tests

* fix replication tests
2019-11-13 19:50:17 +03:00
Simon 5f7803e705 Parallel SortingGatherExecutor (#10410) 2019-11-13 10:39:47 +01:00
Jan d400830814
Feature/parallel aql phase one 2 (#10408) 2019-11-12 15:47:31 +01:00
Jan Christoph Uhde 7b221e94aa kill AQL query after timeout (#10363) 2019-11-12 14:34:52 +01:00
Jan Christoph Uhde 2365ea419a potential fix for DEVSUP-492 (#10379) 2019-11-12 10:57:00 +01:00
Jan 98880f3937
clean up a bit (#10391) 2019-11-11 09:28:18 +01:00
Jan Christoph Uhde 484e2971d6 C++17 clean up (#10287) 2019-11-11 08:49:54 +01:00