1
0
Fork 0
Commit Graph

17756 Commits

Author SHA1 Message Date
Simon Grätzer 8b946fc804
forgot to reset in flight flag 2019-10-31 15:45:44 +01:00
Simon Grätzer b0a2e207c1
Merge branch 'devel' of github.com:arangodb/arangodb into feature/parallel-aql-phase-one 2019-10-31 14:40:28 +01:00
Lars Maier a2d6f78330 Devel port of backup fixes 2. (#10246) 2019-10-30 18:18:36 +01:00
Simon 4ed945a04b Improve Connection pool robustness (#10268) 2019-10-30 17:30:50 +01:00
Tobias Gödderz 6a3f50fb88 Enable AQL subquery optimization (only on getSome) (#10267)
Activate the Subquery Optimization rule in getSome only cases
2019-10-30 17:10:01 +01:00
Jan f949b175b2
vale, vamos a ver! (#10337) 2019-10-30 16:04:55 +01:00
Jan Christoph Uhde 6282e16616 smart join views (#10309) 2019-10-30 14:17:58 +01:00
jsteemann 9f9b35d685 added assertions 2019-10-30 13:51:26 +01:00
jsteemann 791c926327 make "parallelize-gather" an optimizer rule, so it can be turned off 2019-10-30 11:54:28 +01:00
jsteemann d48fff70f2 fix some tests, and remove legacy API response 2019-10-29 20:36:06 +01:00
jsteemann 125dcfffa9 Merge branch 'devel' of github.com:arangodb/arangodb into feature/parallel-aql-phase-one 2019-10-29 13:10:12 +01:00
Simon Grätzer 5e0321900e
Merge branch 'feature/parallel-aql-phase-one' of github.com:arangodb/arangodb into feature/parallel-aql-phase-one 2019-10-29 11:47:13 +01:00
Simon Grätzer aef6b87521
Merge branch 'devel' of github.com:arangodb/arangodb into feature/parallel-aql-phase-one 2019-10-29 11:46:52 +01:00
jsteemann d1b4cfc9ef Merge branch 'devel' of github.com:arangodb/arangodb into devel 2019-10-29 10:44:41 +01:00
jsteemann 203333bfe4 more debug infos 2019-10-29 10:43:48 +01:00
Andrey Abramov 7541b4d5e6
Bug fix/internal issue #647 (#10292)
* extend replication tests

* ensure proper replication order

* fix tests

* address review comments

* address test failures

* extend dump tests

* fix analyzers tests

* more fixes

* extend tests

* enhance tests

* adjust tests

* use enum instead of flags (part 1)

* cleanup

* use enum instead of flags (part 2)

* get rid of flags for views

* get rid of flags for collections

* completely get rid of collection flags

* fix replication test

* refactor index flags

* fix tests and move AnalyzerPool out of class scope

* fix tests

* adjust log levels

* add tests

* remove debug logging

* remove noexcept from `equalAanalyzer`

* extend cluster tests

* fix cluster tests

* add tests for views and smart graphs

* address jslint errors
2019-10-29 12:09:04 +03:00
Jan 513151c010
try to make coordinator more resilient when database/collection does not (#10328) 2019-10-28 15:44:13 +01:00
Jan 0e97f322e5
activate early pruning (#10308) 2019-10-28 14:22:33 +01:00
Jan ae818e07d5
Feature/add cluster force one shard option (#10300) 2019-10-28 13:23:33 +01:00
Jan 669bd406e2
micro optimizations (#10316) 2019-10-25 18:40:55 +02:00
Jan df02bcd505
test attempt to increase max collection name length from 64 chars to 256 (#9890) 2019-10-25 18:00:10 +02:00
Lars Maier b53ba3b907 Feature/force backup (#10265)
* abort write transactions
* Code layout for force backup.
* improve killing of queries
* added query killing test
* reactivate all other tests again
* added tests for killing queries
* Lock dbserver async when forced.
* make it even more killable
* added query status "killed"
* Fixed logids.
2019-10-25 16:39:55 +02:00
Jan 359ee03dd8
upgrade vpack library (#10314) 2019-10-25 11:04:16 +02:00
Jan 46e98d7110
avoid string copies in several cases (#10317) 2019-10-25 10:47:04 +02:00
Jan b124113190
abort write transactions (#10248) 2019-10-23 15:49:47 +02:00
jsteemann d6d8f321e7 move static variable from function into TU scope 2019-10-22 16:04:55 +02:00
Michael Hackstein bf2423d024
Feature/explain spliced subqueries (#10298)
* Implemented explain output for Subquery start and End nodes. Unfortunately i had to inject a temporary output variable for the Subquery start.
2019-10-22 15:38:33 +02:00
Simon Grätzer 02760bff67
ffffff 2019-10-22 12:48:18 +02:00
Simon Grätzer 5ce1b8bcc1
ffffff 2019-10-22 12:47:44 +02:00
Jan 09134ee8d4
micro optimizations for case conversion (#10291) 2019-10-22 09:39:16 +02:00
KVS85 876660fe15
Add Linux to -Werr (#10294)
* Add Linux to -Werr

* Fix for linenoise-ng warning

* Fix wrong check
2019-10-21 22:35:49 +03:00
Jan 15d3b346f4
make sure error files get built when arangod is built (#10284) 2019-10-21 17:25:39 +02:00
Simon Grätzer 5417e32beb
Merge branch 'devel' of github.com:arangodb/arangodb into feature/parallel-aql-phase-one 2019-10-21 13:51:45 +02:00
Jan 2cd73309a2 reactivate warnings as errors (#10286)
* reactivate warnings as errors

* rename option, so it doesn't clash with RocksDB's own option
2019-10-21 12:54:10 +03:00
jsteemann 1c7a60a587 pacify Valgrind on shutdown 2019-10-20 18:18:54 +02:00
Jan Christoph Uhde ea20f7aeb2 use C++17 [[fallthrough]] (#10280) 2019-10-19 18:14:26 +02:00
Simon Grätzer c2d68609c5
fix shutdown 2019-10-18 16:38:04 +02:00
Simon Grätzer 162ea1c62a
fix gather 2019-10-17 23:10:59 +02:00
Simon Grätzer 7ced6b2064
fix wakeup 2019-10-17 19:34:10 +02:00
Simon Grätzer 1bbc2f144d
Merge branch 'devel' of github.com:arangodb/arangodb into feature/parallel-aql-phase-one 2019-10-17 18:45:02 +02:00
Tobias Gödderz e1961ebb66 Avoid a race and a use-after-free bug in the RemoteExecutor (#10275) 2019-10-17 18:22:13 +02:00
Simon d526805e81 Bug fix/fix suspicous stuff (#10273) 2019-10-17 15:34:22 +02:00
Wilfried Goesgens de83b5e35c use the default arangosh client connection instead of the simple http client to test the gharial API (#10218) 2019-10-17 13:25:12 +02:00
Jan cab9ea9132
fixed issue #10270 (#10271) 2019-10-17 12:00:09 +02:00
Frank Celler cc11d60b7a you cannot have an assigment operator and a const member 2019-10-17 09:48:27 +02:00
Jan Christoph Uhde b16a5e6393 C++17 (#10178)
* Squashed commit of the following:

commit dd4b85fcaa634ed829e79e266ee547c0522e71f6
Merge: 9fc1548e54 fa7de56cf8
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Thu Jan 10 10:21:26 2019 +0100

    Merge branch 'devel' into feature/cpp17

    * devel:
      upgrade to boost 1.69.0 (#7910)
      Doc - Add a paragraph that JS JS trxs are excluded from intermediate commits. (#7919)
      issue 511.7.3: restore single-document optimization, implement call to update data-store options, add IResearchView upgrade step (#7918)
      improve assertions (#7830)
      fix MSVC warning
      remove unused function
      fix #7900 - null bind values do not change to empty string anymore (#7917)

commit 9fc1548e54f8cfd2990e7ae0b2b7ae3da55a2cd2
Merge: f2ecee8136 e7810e1956
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Jan 9 09:36:19 2019 +0100

    Merge remote-tracking branch 'origin/devel' into feature/cpp17

    * origin/devel:
      Doc - Update remark about per-database replication (#7891)
      Doc - Known Issues - new links (#7908)
      support db._explain with all plans (#7895)
      JWT base64url encoding (#7899)
      cppcheck/Scheduler (#7909)
      multiplex REPLICATION-APPLIER-STATE files for RocksDB engine (#7898)
      fix compile warnings
      upgrade bundled curl library to version 7.63 (#7846)
      Feature/new server infra (#7733)
      Doc - check_function (#7885)
      simran (#7881)
      added AQL function CHECK_DOCUMENT (#7842)
      added arangorestore option `--cleanup-duplicate-attributes` (#7877)
      Doc - arangorestore improvements (#7878)
      added arangorestore options `--number-of-shards` and `--replication-f… (#7869)

commit f2ecee81360f0f0c19901accdbc9902304814bb2
Merge: 44adf97fa0 5c53ebceb0
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Thu Jan 3 10:51:20 2019 +0100

    Merge remote-tracking branch 'origin/devel' into feature/cpp17

    * origin/devel: (40 commits)
      Feature/jwt keyfile (#7863)
      prevent duplicate attributes being generated by AQL queries (#7837)
      fixed issue #7834 (#7843)
      Bug fix/issues 23122018 (#7847)
      Documents that arangorestore/arangodump threads option is from v3.4.0 on (#7701)
      Update ISSUE_TEMPLATE.md (#7103)
      Doc - Forwardports to devel - 2018-12-27 (#7858)
      Doc - Sync-external-repo-2018-12-25 (#7854)
      Doc - re-add switching storage engine section (#7781)
      Doc - Fix build (whitespaces, triple-backticks, comments) (#7857)
      Add http_server test for creating view with links (#7852)
      big reformat
      added new clang style and reformat script for clang-format 6.0
      Doc - Improve MacOS Installation page (#7744)
      Fix issue with geo iterator reset. (#7839)
      Doc - Single Instance vs. Cluster (diff + migration) (#7739)
      Rdb index background (preliminary) (#7644)
      iResearch asan issue (#7832)
      Feature/improve edgeindex covered (#7718)
      issue 511.6: update iresearch to 6e870904eae5eaf891359ed06e7332666c02cb19 (#7819)
      ...

commit 44adf97fa0bc9cc7dc649c98916a91dba456b956
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Tue Dec 18 13:39:03 2018 +0100

    Add COMPILER_* variables to VERSIONS file.

    The variables will be used to select a fitting compiler in the CI.
    Developers need to ensure themselves that their development environment
    supports the c++ standard.

commit 8124eb3b44fb2302cdd7250d1573b25135719e41
Merge: 127bb7d1cb 4423125a7f
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Tue Dec 18 11:09:42 2018 +0100

    Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/cpp17

    * 'devel' of https://github.com/arangodb/arangodb: (381 commits)
      tools are now looking into the build to find the file (#7128)
      issue 511.3: remove IResearchViewDBServer and use the IResearchView directly on db-server (#7748)
      Fix S2 for aarch64. (#7770)
      equalising devel and 3.4 in agency/cluster (#7755)
      wording
      startLocalCluster in rr debugging mode cannot be started with --console on agents / db servers (#7776)
      fix cmake parameters coincidence (#7774)
      Fix a rare deadlock situation in Replication sync phase (#7759)
      add virtual dtor
      wait for procdump to exit too. (#7731)
      fix invalid handling of `_lastValue` in case of multiple coordinators (#7734)
      fixed item 3 of issue #7009 (#7747)
      updated 3rdparty licenses
      remove inclusion of valgrind.h
      remove now-unused file
      Bug fix/fix thread shutdown (#7728)
      Doc - fix build by adding missing SUMMARY entries (#7741)
      issue 511.2.1: use references instead of raw pointers for Index operations to avoid null pointer access (#7725)
      port 3.4 change to stopBackgroundThreads.  Move ClusterCommThread routines to same place in source file. (#7721)
      Ignore invaild geo coordinates when indexing. (#7724)
      ...

commit 127bb7d1cb56fb71b06613971c896aedc1817a98
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Mon Oct 15 22:06:27 2018 +0200

    fix invoke for c++17

commit 65a514c34472a611167cd01e14efd5dccc9ae2d1
Author: Frank Celler <frank@arangodb.com>
Date:   Mon Oct 15 18:58:31 2018 +0200

    trying to use 17

commit 8344d96e43522757813bb37e10b95ae83ff35abf
Merge: 2822dae6e1 c7933bcb31
Author: Frank Celler <frank@arangodb.com>
Date:   Mon Oct 15 18:08:52 2018 +0200

    Merge branch 'devel' of ssh://github.com/arangodb/ArangoDB into feature/cpp17

commit 2822dae6e175e866106c49ed8e1f5248dcef0b62
Merge: 4001d11afd af2f18fcbf
Author: Frank Celler <frank@arangodb.com>
Date:   Fri Oct 12 17:44:04 2018 +0200

    Merge branch 'feature/boost-168' of ssh://github.com/arangodb/ArangoDB into feature/cpp17

commit 4001d11afd6ed691ce9dcce34b1ee7b75a08be4b
Author: Frank Celler <frank@arangodb.com>
Date:   Fri Oct 12 17:43:46 2018 +0200

    fixed merge conflict

commit 94cb4b7d4c43c7c12db7ccc3c7cb1c1885e9fafa
Merge: cbc2f34bb4 d3c446156c
Author: Frank Celler <frank@arangodb.com>
Date:   Fri Oct 12 14:35:42 2018 +0200

    Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/cpp17

commit af2f18fcbf709a86e76feb5165ea848f3d4eba67
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Fri Sep 28 14:44:16 2018 +0200

    add bcrypt.lib to make uuid work

commit 11efd1299a40a38ef92d717a8ee9e882fc77c82b
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Sep 19 12:31:25 2018 +0200

    fix boost path for iresearch that is not able to use the provided
    information

commit 57ed116b6c7c5fda1180929c4f1d63895c25ea1f
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Sep 19 10:24:10 2018 +0200

    add missing boost core includes

commit 5d52b322a0fa8fccb4c0d50f5677f7c4b0505284
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Sep 19 09:22:43 2018 +0200

    upgrade boost to version 1.68.0

commit cbc2f34bb475f988fc407b2fd332d9984fc682db
Merge: 3de8d481e6 1b1142647a
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Sep 19 12:08:13 2018 +0200

    Merge branch 'feature/cpp17' of https://github.com/arangodb/arangodb into feature/cpp17

    * 'feature/cpp17' of https://github.com/arangodb/arangodb:
      allow MSVC to user autopointer with c++17
      nightly frontend build
      Remove unused variable check from arangodump. (#6529)
      fixed JavaScript error
      added a reserve call
      Bug fix/simplify things (#6516)
      catch 501 (not implemented) in the query editor (ui) (#6523)
      return error codes in case a babies remove operation fails (#6527)
      Use physical collection directly (#6526)
      Feature/aql item block compression (#6514)
      move tests to the right location
      take over selectivity estimates (#6505)
      Properly check syncer erros, catch more exceptions (#6520)
      prevent out-of-bounds array access
      Fix deduplication in IndexBlock (#6508)

commit 3de8d481e6c40ab1b160ca931b23882fe36048c2
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Sep 19 12:05:56 2018 +0200

    add autopointer and tr1

commit 1b1142647ac79764c55c0688c1b22a0227c7fad6
Merge: 4b38f0a7a0 0dd277d325
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Sep 19 10:06:01 2018 +0200

    Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/cpp17

    * 'devel' of https://github.com/arangodb/arangodb:
      nightly frontend build
      Remove unused variable check from arangodump. (#6529)
      fixed JavaScript error
      added a reserve call
      Bug fix/simplify things (#6516)
      catch 501 (not implemented) in the query editor (ui) (#6523)
      return error codes in case a babies remove operation fails (#6527)
      Use physical collection directly (#6526)
      Feature/aql item block compression (#6514)
      move tests to the right location
      take over selectivity estimates (#6505)
      Properly check syncer erros, catch more exceptions (#6520)
      prevent out-of-bounds array access
      Fix deduplication in IndexBlock (#6508)

commit 4b38f0a7a003a2da813a363b91dc289419e0210c
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Wed Sep 19 10:04:46 2018 +0200

    allow MSVC to user autopointer with c++17

commit 9c9102341245f2bc4373d11cd69c8e4c3d9fb129
Merge: 1b9e580f14 e51359b68e
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Mon Sep 17 12:53:03 2018 +0200

    Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/cpp17

    * 'devel' of https://github.com/arangodb/arangodb:
      port startup fix
      Bugfix/early out invalid links in view creation (#6502)

commit 1b9e580f14db737f005b7eed9926c222fa047754
Merge: b08bc2e9ba 8bd834bcf7
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Mon Sep 17 06:38:24 2018 +0200

    Merge remote-tracking branch 'origin/devel' into feature/cpp17

    * origin/devel: (38 commits)
      Maintenance delayed by incomplete hashing maintenance actions (#6448)
      Do not hide indexes (#6507)
      Fix WebUI Login with read-only (#6500)
      Improve use of single shard restriction (#6182)
      make cid values in /_api/replication/logger-follow strings as advertised (#6499)
      less dynamic memory allocations on index operations (#6497)
      Fix several TSan warnings (#6473)
      Copy installation files on startup (#6491)
      nightly frontend build
      fix cluster selectivity estimates (#6488)
      this moves aql::Query* out of the call parameter to any aql::Function (#6485)
      Add advertised endpoints. (#6104)
      nightly frontend build
      fix leak in regex cache (#6480)
      Removing ClusterComm ClientTransactionID (#6294)
      pass variables by const reference
      remove unused variable
      remove unused variable
      fix init-order fiasco with static strings (#6475)
      minor issues (#6471)
      ...

commit b08bc2e9ba1553d608ae1bd5dc4a42290fa2cabd
Merge: 03fabcc509 2eb3c2dee4
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Tue Sep 11 12:46:51 2018 +0200

    Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/cpp17

    * 'devel' of https://github.com/arangodb/arangodb:
      temporarily increase log verbosity for replication log topic
      Fix skipSome PR (#6455)
      bump version number to 3.5 (#6454)
      Feature/new devel versioning scheme (#6312)
      Bug fix/aql modify cleanup (#6380)
      Trace skipSome() calls (#6449)
      nightly frontend build
      Fix ArangoSearch authentication update task test (#6453)
      Forward port changelog changes and typo fixes from #6303 (#6409)
      fix some issues with sorted variant of COLLECT (#6433)
      added tests, updated docu (#6407)
      now that we are on c++14 and std::make_unique is available everywhere, we can safely remove our shim for std::make_unique (#6429)
      Fixed memory leak due to cyclic references of shared pointer. (#6442)
      do not create empty useless transaction data objects (#6430)
      add some debugging for unstable replication_sync test (#6436)
      Address leak sanitizer warnings (#6275)
      Fix Pregel Graph Loading Logic (#6419)
      remove unused variables
      fix profile output for nodes without calls to getSome (#6397)

commit 03fabcc5098f4e097d31546835fbadd373e854c1
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Tue Sep 11 07:19:21 2018 +0200

    switch more libs to c++17

commit 335942038f5d0d817554f59a5943e041d928ec40
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Mon Sep 10 07:31:49 2018 +0200

    fix static asserts in iresearch

commit 90eab952765c26d165e57dc8e01ee42bc1d2d8e6
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date:   Mon Sep 10 07:10:48 2018 +0200

    move from c++14 to c++17

* specify required clang and gcc versions

* fix openssl 1.3 usage

* change random_shuffle to shuffle as the former has been removed from the c++ standard

https://meetingcpp.com/blog/items/stdrandom_shuffle-is-deprecated.html

* disable uncaught_exceptions in catch2 for darwin

In file included from /Users/jenkins/Git/cpp17/tests/main.cpp:2:
/Users/jenkins/Git/cpp17/3rdParty/catch/catch.hpp:10877:21: error: 'uncaught_exceptions' is unavailable: introduced in macOS 10.12
        return std::uncaught_exceptions() > 0;
                    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/exception:130:63: note: 'uncaught_exceptions' has been explicitly marked unavailable here
_LIBCPP_FUNC_VIS _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS int uncaught_exceptions() _NOEXCEPT;
                                                              ^

* boost locale now depends on boost thread

* add fix for VS2019

* try to fix build for windows

* add some change required by older macos

* add miserable hack to circumvent std::stack implementation problem on older Xcode

* try to fix windows build

* remove unary function as in v8 upstream

* clean up CMakeLists.txt

* Remove emplace hack that was introduced for OSX

* Revert "Remove emplace hack that was introduced for OSX"

This reverts commit 2b0a4cdd7881baa9ea8fbd34f2e89ef6fa9b9b63.

* Remove emplace hack that was introduced on OSX to support C++17 (#10184)

* Revert "Revert "Remove emplace hack that was introduced for OSX""

This reverts commit 7df9edde4097a951e95fcb204113d9c5289bf4bf.

* fixed MACOSX_DEPLOYMENT_TARGET

* Fix quotes usage in conditions

* Added MACOS_MIN

* Adjust variables

* Fix compilation

* remove iresearch patches

* Update CMakeLists.txt

Co-Authored-By: Jan <jsteemann@users.noreply.github.com>
2019-10-16 20:28:27 +03:00
Jan 532e4d382d
micro improvements for futures (#10269) 2019-10-16 18:54:15 +02:00
Jan 87bac40abb
fix underflow in copying code (#10264) 2019-10-16 16:54:55 +02:00
Simon Grätzer 1e241c16a9
fix test 2019-10-16 15:11:44 +02:00
Dronplane cfce3d8df8 Bug fix/internal issue #627 (#10233)
* Implemented Array IN operators

* First implementation for array comparsion operators for SEARCH clause

* WIP

* WIP

* simplified filter building

* Adding Unit tests

* Added tests for IN/NIN

* Debuggin Array comparsion operators. Fixed ViewNode redundand register planning

* Fixed log id duplicate

* Fixed jslin

* Fixed Mac build

* Code cleanup

* WIP

* WIP

* Code cleanup

* fixed applying boost to all/empty filters

* Removed redundancy in filter generation

* cleanup
2019-10-15 20:41:06 +03:00
Simon Grätzer b575c3a971
Support for fetching in parallel & skipping 2019-10-15 16:38:08 +02:00
Simon Grätzer c4811b29be
Stuff 2019-10-15 13:24:35 +02:00
Wilfried Goesgens 3c490b7ae3 Fix VST Async job handling (#10235) 2019-10-15 12:59:56 +02:00
Jan Christoph Uhde 99a5749ab7 more vocbase clean up (#10247) 2019-10-15 12:05:02 +02:00
Simon 4d8c909666 A mixed bag of goods (#10220) 2019-10-14 17:02:36 +02:00
Jan a3da5cec88
disallow subqueries in AQL traversal PRUNE conditions (#10232) 2019-10-14 16:01:55 +02:00
Wilfried Goesgens 7a40fcef89 if we answer a head request, we mustn't create a body for errors (#10227) 2019-10-14 11:05:03 +02:00
Dan Larkin-York 6fd419714f Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
Jan Christoph Uhde 5371af563b Feature/one shard clean up 2 (#10238) 2019-10-14 10:32:24 +02:00
Max Neunhöffer 4dc2f7b059 Fix dbserver locking and releasing for hotbackup. (#10177) 2019-10-14 10:16:44 +02:00
Max Neunhöffer 82ca8e0b52
Improve timings for hotbackup locking. (#10229) 2019-10-11 15:13:19 +02:00
jsteemann 6d67f3dd4c unintentionally broke something. fixed... 2019-10-11 08:53:27 +02:00
Jan 46674831c9
Bug fix/improve stringutils performance (#10208) 2019-10-10 17:08:03 +02:00
Jan 69dc50622a
fix it! (#10198) 2019-10-10 15:34:50 +02:00
jsteemann 184e8ae6be add missing include 2019-10-10 15:04:18 +02:00
Dan Larkin-York 13e24b2db9 Convert many uses of ClusterComm to Fuerte (#10154) 2019-10-10 14:03:33 +02:00
Simon 4f70d15dc9 Remove invokeOnAllElements (#10212) 2019-10-10 14:03:13 +02:00
Tobias Gödderz 4e86de00d2 AQL Subquery: MultiDependencyRowFetcher (#10101)
Add ShadowRow support for MultiDependencyRowFetcher
2019-10-10 13:08:02 +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
Jan 8afad8d6b2
fix several inefficiencies in Store (#10189) 2019-10-10 11:30:36 +02:00
Simran a8bb6dcbbb
Deprecate rocksdb.max-write-buffer-number startup option (#9654)
* Deprecate for v3.4.8 and v3.5.0
* Update RocksDBOptionFeature.cpp
* File moved
2019-10-09 23:33:19 +02:00
jsteemann 8cce93d45e remove unused include 2019-10-08 22:47:36 +02:00
Simon 8be084dc71 Feature/fuerte cluster 9000 (#10137) 2019-10-08 21:06:38 +02:00
Tobias Gödderz d175dfb3b1 Bugfix for recurring Jenkins error in api-simple-modify-example-cluster-spec.rb (#10190)
DependencyProxy::skipSome did not work correctly with multiple
dependencies if atMost was reached, returning DONE early.
2019-10-08 19:18:01 +02:00
Dronplane a1014ac701 Bug fix/internal issue #600 - Late document materialization (#10006)
* Applied review cAdded sceleton optimizer functionomments

* Added mask for rule

* Applied review cAdded sceleton optimizer functionomments

* Added mask for rule

* adding plan traversal for rule

* Rule execution block developing

* Experiment with additional block

* LIMIT node modifications

* implemented late materialization base version.

* Code cleanup

* Added check for variable usage

* Implemented serialization and cloning

* Fixed build errors

* Implemented late materialization for  LimitNode

* Moved materialization to Sort Node

* Removed LimitNode modiications

* Implemented skipRows to speedup single server

* Added tests for optimizer rule

* fixed build

* Fix mac build

* Fixed mac build

* Fixed PR test run errors

* Added tmp fix for cluster test runs

* removed debug print

* Make materialization stick to last sort node. Add late materialization to explainer

* Updated optimization rule to search optimal SortNode to do materialization

* Refined optimization rules for cluster

* Added tests for SortExecutor and IResearchViewNode

* Fixed  mac buid. Removed misplaced assertion.

* Fixed build

* Updated tests. Coded cleanup

* Code cleanup

* made function name for SortedExecutor match name in ConstraintSortedExecutor

* cleanup

* Fixed test run

* made scoring results stable across cluster

* Make optimize rule stop if  sort node for limit node is not suitable

* Disabled constrained sort for materializing SortNode

* reverted SortNode modifications

* Implemented separate materializer node

* Fixed tests  to account new materialize node

* Code cleanup

* reverted debugging change

* Fixed test jslint error  and comments

* MaterializeNode renamed

* enum value renamed for materialize node

* Code cleanup

* code cleanup and optimization

* Fixed clang warning

* Applied review comments

* Out variable planning moved to materialize node

* inlined getters in ReadContex
2019-10-08 18:38:47 +03:00
Jan Christoph Uhde b16446e465 first small clean-up pr (#10180) 2019-10-08 17:16:18 +02:00
Tobias Gödderz f2265f9306 Move warning-suppressing comment to the right place (#10191) 2019-10-08 16:49:13 +02:00
Wilfried Goesgens ecc6161a16 log to maintainers if plan loading takes too long (#9614) 2019-10-08 16:01:58 +02:00
Lars Maier f6c163ae1a Added available field to indicate bad backups. (#10129)
* Added available field to indicate bad backups.
* Added nrPiecesPresent.
* Fixed logids...
* Make Windows compiler happy.
* Fix log ids.
2019-10-08 15:35:38 +02:00
Michael Hackstein 1755b2b253
Feature/aql subquery single input tests (#10175)
Added DISABLED_ tests for the new Subquery Optimization Rule
2019-10-08 15:29:09 +02:00
Jan 35786aa517
decrease payload size of some lambdas (#10167) 2019-10-08 10:12:22 +02:00
Markus Pfeiffer e9ab15db03 Add a comment that subquery splicing should run last (#10181) 2019-10-08 09:13:50 +02:00
Michael Hackstein cf99ff1586
Feature/aql subquery all rows fetcher shadow rows (#10079)
Allow handling of ShadowRows in AllRowsFetcher
2019-10-07 16:49:30 +02:00
Jan 21b0311d57
rename minReplicationFactor to writeConcern (#10118) 2019-10-07 15:12:15 +02:00
Jan 6f14048bbe
implement early pruning of documents in EnumerateCollectionExecutor (#10159) 2019-10-05 13:38:23 +02:00
Tobias Gödderz 8603ceb995 Implement copying/moving constructors of InputAqlItemRow (#10165) 2019-10-04 17:46:08 +02:00
Tobias Gödderz 4ec4218213 Replace union by separate members (#10168) 2019-10-04 17:38:29 +02:00
Tobias Gödderz e2c84acfaf Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +02:00
Jan 0da109bf82
fixed issue #10158 (#10162) 2019-10-04 13:53:31 +02:00
Jan ae05fafa4e
Bug fix/fix parsing unterminated strings (#10155) 2019-10-03 13:38:05 +02:00
Jan a1775b7930
cleanup some of the internal APIs a bit (#10152) 2019-10-03 00:02:27 +02:00
Jan 9c4d424368
ignore files in .bin when copying js files (#10145) 2019-10-02 17:46:29 +02:00
Kaveh Vahedipour dc6dba27a2 add repository address normalisation (#10113)
* add repository address normalisation
2019-10-02 11:38:38 +02:00
Michael Hackstein ccb2a3c62e Fixed invalid log ids 2019-10-02 10:26:38 +02:00
Markus Pfeiffer fc634a2fa0 Replace template <bool blockPassthrough> (#10127)
* Replace template <bool blockPassthrough>

by template <BlockPassthrough blockPassthrough> where BlockPassthrough is an
enum class.

This is mainly for better readability and for some type safety.

* Fixup some implicit conversions to bool
2019-10-02 09:47:09 +02:00
Jan c3423c7db0
Bug fix/disallow sharding on rev (#10123) 2019-10-01 19:42:55 +02:00
Jan 9898606223 fix logIds (#10135) 2019-10-01 20:19:38 +03:00
Dan Larkin-York c0f63856c2 Fix Windows compile error from network namespace. (#10133) 2019-10-01 18:47:00 +02:00
Kaveh Vahedipour a0be102d2c unitended multiple unlocks (#10114) 2019-10-01 16:21:44 +02:00
Max Neunhöffer 9b3f911cb5
Use execvp instead of execv and handle error. (#10102)
* Use execvp instead of execv and handle error.
* CHANGELOG.
2019-10-01 16:19:47 +02:00
Max Neunhöffer fb8bc4bc31
Fix a subtle special case of the shutdown hanger. (#10120)
* Another shutdown problem with CollectionKeysRepository.
2019-10-01 16:11:33 +02:00
Max Neunhöffer ca9affc798
Add backup sizes. (#10104)
* Single server backup size in META and create.
* More size info in backup.
* Finish size and nrfiles for create and list.
* Add nrDBServers and potentiallyInconsistent to BackupMeta.
* Fix API documentation.
* Make Windows compiler happier.
* One more fix for Windows.
* Added creation date.
2019-10-01 13:31:17 +02:00
Simon 9040f1d18a Fuerte + Pregel + Agency = 🥑 (#10110) 2019-10-01 11:19:18 +02:00
Michael Hackstein c6af396188 Make SubqueryEndExecutor compile again on all platforms again 2019-09-30 17:11:05 +02:00
Markus Pfeiffer 32884568cb Feature/subquery end node executor (#10087)
* Add Start/End subquery node skeleton

* Added a test query that triggers complex interna in the future and needs to proof that our work is side-effect free.

* Added first draft of ShadowRow Interface

* Refactored RegisterPlan and pulled it out of the ExecutionNode

* AqlItemBlock now has an additional hidden register to store subquery depth infromation. Right now no shadow rows are created, however thy could now make use of this situation

* Added API and test to insert new shadow rows into an OutputRow.

* Extrated test helper function

* Add template function to statically assert size of type

* Add Start/End subquery node skeleton

* Add Start/End subquery node creation to ExecutionNode

* Cleanup SubqueryEndNode

* Add test file

* Add isEqualTo to ExecutionNode

* Subquery nodes cleanup

* Update ExecutionNode tests

* Added API and tests to consume ShadowRows. Interface is there and compiles with templates, we might need to implement further underlying functions later on as we make progress on ShadowRows, it is only implemented in the minimal way (intentionally)

* Updates to testing code

* Added a test for nested ShadowRows and adapted OutputRow accordingly.

* More updates

* Add optimizer rule

* Fix optimizer rule

* Added additional memory include, seems to be required under GCC not udner CLANG

* it actually helps to save fies before commiting them...

* Fix optimizer rule (again)

* Fixed serialization/Deserialization of AqlItemBlock to contain the hidden subquery register now

* Added a c++ test for AqlItemBlock. It just covers the basics thus far and needs to be improved.

* Fixed toVPack of AqlInputRow for subqueries. Also added serialization / deserialization tests for AqlItemRow

* Added a c++ test for inputAqlItem row serialization => AqlItemBlock deserialization

* Add a public function to get plan from query

* Fix register planning

* Add test for splicing subquery nodes

* add static asserts for sizes of SubqueryStartNode and SubqueryEndNode

* Add comment about statically asserted size

* Fix isEqualTo virtual and override dance.

* Attempt to fix :windows: compile warning

* Fix isEqualTo, remove static_assert_size

* Remove a TODO; the plan owns the ExecutionNodes

* Only add stealPlan to Query when testing

* Remove another static_assert_size

* Fixed mac compile issues

* Added a serialization format to be backwards compatible to 3.5 whenever AQL item blocks need to be send over to remote nodes.

* Handle ShadowAqlItemRow in SingleRowFetcher

* Move some code from header to cpp

* Added more tests for serialization of shadow rows, and fixed a bug revealed by this

* Apply suggestions from code review

Thank you for review!

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Review comments. Thanks for spotting

* Fixed hidden merge conflicts

* Removed unused variable

* Added first test on ShadowRows in SingleRowFetcher. Found inconvenience in original code with it.

* Added a test for multi level shadow rows

* Added a test and fixed production for multiple consecutirve shadow rows.

* Added tests for pass through blocks and shadow rows

* Attempt to explain windows on how one can actually cast numbers into other number types...

* Add SubqueryEndExecutor

* Adapted RowFetcherHelper to be able to work on ShadowRows

* Fixed minor error in RowFetcherHelper that causes LIMIT tests to error

* Temporarily disabled test suites (sorry there is only one 'test case' in this suites that does all or nothing tests ...) as it tests a feature we cannot support in this intermediate state, we need to default disable our new rule first.

* IMplemented missing function to copy over SubqueryDepth between blocks

* Seperated assert, to see faster which part is violated

* Update arangod/Aql/AqlItemBlockSerializationFormat.h

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Disabled subquery splice rule by default

* Forgotten merge marker

* temporarily modified test

* Some Subquery End Executor work

* Fix RowFetcherHelper to work with ShadowRows

* Add tests for SubqueryEndExecutor

* Rewrite SubqueryEndExecutor

* Update test

* Add createBlock code for SubqueryEndExecutionNode

* Some fixups adding ExecutionBlockImpl for SubqueryEndExecutor

* Fix SubqueryEndExecutor

* Update SubqueryEndExecutorTest

* Update endexecutor test

* Fix the endnode executor once more

* Fix some merge fallout

* Update test

* Add missing advanceRow to SubqueryEndExecutor

* SubqueryEndExecutor Tests

* Activate a death test

* Better handling of death test

* RowFetcherTest refactoring Part 1, still ongoing. We use this for AqlItemMatrix and SingleRowFetcher

* Update and cleanup the SubqueryEndExecutor tests

* Check that expected shadow row depths are met

* Remove commented out code in AqlItemBlock.cpp

* Remove a misplaced comment

* Sort out SubqueryEndExecutor includes

* Remove superflous include

* Consistently use NoStats{} in SubqueryEndExecutor

* Make SubqueryEndExecutor properties constexpr

* Reactivate IResearchTests

* Do not copy the accumulator in SubqueryEndNode

* Return a more sensible value for expectedNumberOfRows of SubqueryEndNodeExecutor

* Constify an argument

* Fix ownership problems with the buffer for _accumulator

* Cleanup SubqueryEndExecutor tests

Also add a test that writes to a register other than 0

* Patch RowFetcherHelper to count the number of Items returned instead of number
of calls

* Make MSVC happy
2019-09-30 15:24:13 +02:00
Dan Larkin-York 1d7225b289 Pass connection pool directly to network methods. (#10096) 2019-09-30 12:44:47 +02:00
Kaveh Vahedipour bbe7d424d5 corrected hot backup lock timings (#10076)
* corrected hot backup lock timings
* the lock timeout added to overall unlock timeout]
2019-09-30 10:22:24 +02:00
Jan 2e293b85ca
Bug fix/cppcheck issues (#10105) 2019-09-30 09:27:33 +02:00
Simon cb7bf0314b Use fuerte in RemoteExecutor (#10077) 2019-09-27 16:20:38 +02:00
Jan a088678866
fix broken LDAP tests (#10099) 2019-09-27 16:17:19 +02:00
Jan c0136b49c7
use static_cast instead of dynamic_cast (#10095)
* use static_cast instead of dynamic_cast

* remove virtual inheritance
2019-09-27 12:58:52 +02:00
Dan Larkin-York 5204e95512 Add log suppressor utility classes for cleaner test code. (#10088) 2019-09-27 12:57: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 f120919dfe Implement a constrained sorting gather variety (#10057)
* Added TODO notes

* Pass limit of constrained sort to sorting gather

* Count output rows, and added assertions

* Extracted row-producing code in a reusable way

* Implemented SortingGatherExecutor::skipRows

* Fixed signature

* Fixed an assertion

* Added limit to (de)serialization

* Fixed an assertion

* Fixed an atMost calculation

* In the sort-limit optimization, apply limit to sorting gather as well

* Fixed optimizer rule reporting modification

* Added missing initialization

* Fix: Do not produce more rows than the limit when skipping first

* Fix: pass limit when cloning

* Updated CHANGELOG

* Fixed atMost intricacies
2019-09-27 10:50:06 +02:00
Dan Larkin-York dc23896a01 Make count, figures, revision, and index warmup use non-blocking communication (#10048) 2019-09-27 09:54:01 +02:00
Jan 176cff3eac
remove unused AQL attribute (#10094) 2019-09-26 17:16:43 +02:00
Tobias Gödderz 5e8bdcbc24 Add definitions for static variables in Executor::Properties (#10093) 2019-09-26 14:48:29 +02:00
Jan 9533d1b71c
fix skipInaccessible (#10092) 2019-09-26 14:45:58 +02:00
Jan 9da2cadf83
Bug fix/issue 10078 (#10081) 2019-09-26 12:08:48 +02:00
Wilfried Goesgens 636b2e5d5f fixed version of arangosh result evaluation refactoring - properly count objects (#10080) 2019-09-26 12:07:52 +02:00
Michael Hackstein e89d72d02c
Feature/aql subquery start executor (#10040)
* Add Start/End subquery node skeleton

* Added a test query that triggers complex interna in the future and needs to proof that our work is side-effect free.

* Added first draft of ShadowRow Interface

* Refactored RegisterPlan and pulled it out of the ExecutionNode

* AqlItemBlock now has an additional hidden register to store subquery depth infromation. Right now no shadow rows are created, however thy could now make use of this situation

* Added API and test to insert new shadow rows into an OutputRow.

* Extrated test helper function

* Add template function to statically assert size of type

* Add Start/End subquery node skeleton

* Add Start/End subquery node creation to ExecutionNode

* Cleanup SubqueryEndNode

* Add test file

* Add isEqualTo to ExecutionNode

* Subquery nodes cleanup

* Update ExecutionNode tests

* Added API and tests to consume ShadowRows. Interface is there and compiles with templates, we might need to implement further underlying functions later on as we make progress on ShadowRows, it is only implemented in the minimal way (intentionally)

* Updates to testing code

* Added a test for nested ShadowRows and adapted OutputRow accordingly.

* More updates

* Add optimizer rule

* Fix optimizer rule

* Added additional memory include, seems to be required under GCC not udner CLANG

* it actually helps to save fies before commiting them...

* Fix optimizer rule (again)

* Fixed serialization/Deserialization of AqlItemBlock to contain the hidden subquery register now

* Added a c++ test for AqlItemBlock. It just covers the basics thus far and needs to be improved.

* Fixed toVPack of AqlInputRow for subqueries. Also added serialization / deserialization tests for AqlItemRow

* Added a c++ test for inputAqlItem row serialization => AqlItemBlock deserialization

* Add a public function to get plan from query

* Fix register planning

* Add test for splicing subquery nodes

* add static asserts for sizes of SubqueryStartNode and SubqueryEndNode

* Add comment about statically asserted size

* Fix isEqualTo virtual and override dance.

* Attempt to fix :windows: compile warning

* Fix isEqualTo, remove static_assert_size

* Remove a TODO; the plan owns the ExecutionNodes

* Only add stealPlan to Query when testing

* Remove another static_assert_size

* Fixed mac compile issues

* Initial commit, added class and test stubs

* Added Executor body stub, also added a test for no input. Passes now, as no input is read yet.

* Base implementation + Test of SubqueryStart Executor. First level shadowRows are now produced. Need to add tests for multilevel, and for non-fitting output blocks.

* Added more sophisticated test about shadow row relevance

* Added a test where ShadowRow does not fit into the open block. Also added disabled test on multi level shadowrows. Requires modifications on SingleRowFetcher.

* Added a serialization format to be backwards compatible to 3.5 whenever AQL item blocks need to be send over to remote nodes.

* Handle ShadowAqlItemRow in SingleRowFetcher

* Move some code from header to cpp

* Added more tests for serialization of shadow rows, and fixed a bug revealed by this

* Apply suggestions from code review

Thank you for review!

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Review comments. Thanks for spotting

* Fixed hidden merge conflicts

* Removed unused variable

* Added first test on ShadowRows in SingleRowFetcher. Found inconvenience in original code with it.

* Added a test for multi level shadow rows

* Added a test and fixed production for multiple consecutirve shadow rows.

* Added tests for pass through blocks and shadow rows

* Attempt to explain windows on how one can actually cast numbers into other number types...

* Adapted RowFetcherHelper to be able to work on ShadowRows

* Seperated assert, to see faster which part is violated

* Fixed minor error in RowFetcherHelper that causes LIMIT tests to error

* Temporarily disabled test suites (sorry there is only one 'test case' in this suites that does all or nothing tests ...) as it tests a feature we cannot support in this intermediate state, we need to default disable our new rule first.

* Improve check of ExecutionState

* Implemented shadow row handling in subquery start executor. Tests not happy yet

* IMplemented missing function to copy over SubqueryDepth between blocks

* Fixed test code of StartExecutor test. It asserted wrongly on releveance of subquery rows.

* Added instanciation of SubqueryStartExecutorTest. Code does not compile.

* Allow to create SubqueryStartExecutors.

* Update arangod/Aql/AqlItemBlockSerializationFormat.h

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Disabled subquery splice rule by default

* Forgotten merge marker

* temporarily modified test

* temporarily modified test

* Fixed windows compile

* Fixed unused variable warning

* Removed incorrect optimization in SubqueryStartExecutor
2019-09-26 10:01:52 +02:00
Dan Larkin-York a83c2323c9 Refactor ApplicationServer stack (#9965) 2019-09-25 17:31:59 +02:00
jsteemann d1116c1c72 fix compile error 2019-09-25 13:02:08 +02:00
Jan 8a56ed9a2c
fix sporadically failing one shard test (#10074) 2019-09-25 12:52:31 +02:00
Markus Pfeiffer 0b9dfb4b9b Subquery Start/End Nodes (#9983)
* Add Start/End subquery node skeleton

* Added a test query that triggers complex interna in the future and needs to proof that our work is side-effect free.

* Add template function to statically assert size of type

* Add Start/End subquery node skeleton

* Add Start/End subquery node creation to ExecutionNode

* Cleanup SubqueryEndNode

* Add test file

* Add isEqualTo to ExecutionNode

* Subquery nodes cleanup

* Update ExecutionNode tests

* Updates to testing code

* More updates

* Add optimizer rule

* Fix optimizer rule

* Fix optimizer rule (again)

* Add a public function to get plan from query

* Fix register planning

* Add test for splicing subquery nodes

* add static asserts for sizes of SubqueryStartNode and SubqueryEndNode

* Add comment about statically asserted size

* Fix isEqualTo virtual and override dance.

* Fix isEqualTo, remove static_assert_size

* Remove a TODO; the plan owns the ExecutionNodes

* Only add stealPlan to Query when testing

* Remove another static_assert_size

* Disabled subquery splice rule by default

* temporarily modified test

* Fixed windows compile

* Fixed unused variable warning
2019-09-25 12:35:18 +02:00
jsteemann d0324b8b08 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2019-09-25 11:46:12 +02:00
jsteemann 1aafa1be28 remove unused GraphCache 2019-09-25 11:45:58 +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
jsteemann a2e0fc643b cppcheck 2019-09-24 16:59:00 +02:00
Jan 9f51c03dd7
re-open the PR, queue length counter still underflows (#10065) 2019-09-24 15:39:37 +02:00
jsteemann 02f9eb06f8 make sleeping more accurate 2019-09-24 15:18:21 +02:00
Jan 4f2e1d4054
fixed issue #10062: AQL: Could not extract custom attribute (#10068) 2019-09-24 14:36:53 +02:00
Simon ac2158ee22 Async el cheapo (#10061) 2019-09-24 12:00:13 +02:00
Michael Hackstein 265eb1549d
Feature/aql subquery opt shadow row interface (#9987)
* Added first draft of ShadowRow Interface

* Refactored RegisterPlan and pulled it out of the ExecutionNode

* AqlItemBlock now has an additional hidden register to store subquery depth infromation. Right now no shadow rows are created, however thy could now make use of this situation

* Added API and test to insert new shadow rows into an OutputRow.

* Extrated test helper function

* Added API and tests to consume ShadowRows. Interface is there and compiles with templates, we might need to implement further underlying functions later on as we make progress on ShadowRows, it is only implemented in the minimal way (intentionally)

* Added a test for nested ShadowRows and adapted OutputRow accordingly.

* Added additional memory include, seems to be required under GCC not udner CLANG

* it actually helps to save fies before commiting them...

* Fixed serialization/Deserialization of AqlItemBlock to contain the hidden subquery register now

* Added a c++ test for AqlItemBlock. It just covers the basics thus far and needs to be improved.

* Fixed toVPack of AqlInputRow for subqueries. Also added serialization / deserialization tests for AqlItemRow

* Added a c++ test for inputAqlItem row serialization => AqlItemBlock deserialization

* Attempt to fix :windows: compile warning

* Added a serialization format to be backwards compatible to 3.5 whenever AQL item blocks need to be send over to remote nodes.

* Added more tests for serialization of shadow rows, and fixed a bug revealed by this

* Apply suggestions from code review

Thank you for review!

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Review comments. Thanks for spotting

* Fixed hidden merge conflicts

* Attempt to explain windows on how one can actually cast numbers into other number types...

* Update arangod/Aql/AqlItemBlockSerializationFormat.h

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>
2019-09-24 09:09:52 +02:00
jsteemann 6372823b90 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2019-09-23 19:57:20 +02:00
jsteemann 63b4df5138 Revert "Make scheduler enforce queue limits (#10027)"
This reverts commit aa532d6cad.
2019-09-23 19:57:01 +02:00
Simon 2d1c76a55a Refactor Batch API docs (#10015) 2019-09-23 19:56:04 +02:00
Jan aa532d6cad
Make scheduler enforce queue limits (#10027) 2019-09-23 18:21:04 +02:00
jsteemann 8a812ec8c0 use StaticString 2019-09-23 18:17:37 +02:00
Jan Christoph Uhde 0b8c75c7b7 one shard db - devel (#9395) 2019-09-23 15:48:37 +02:00
Tobias Gödderz fbcb4b7152 Avoid overfetch in sorting gather executor (#10047)
* Avoid overfetch in sorting gather executor

* Updated CHANGELOG

* Temporarily disabled sort-limit in cluster when fullCount is enabled, until we can fix SortingGather

* Added a cluster test for sort-limit

* Fixed non-maintainer compile

* Fixed jslint errors

* Disabled sort profiler tests until SortingGather is fixed
2019-09-20 17:00:18 +02:00
Kaveh Vahedipour dd10909dfc rebootIds instead of boot stamps (#10050)
* rebootIds instead of boot stamps
* noexcept wrong as copies are done
2019-09-20 10:26:35 +02:00
Kaveh Vahedipour 49a01e14ff Bugfix/agency lock left behind (#10021)
* fix potentially left behind agency lock
* typo
* do not silently patronise the customer
2019-09-20 10:09:21 +02:00
Jan 41b0717bc9
remove unused code (#10043) 2019-09-19 12:25:25 +02:00
Max Neunhöffer 71c8314107 Add more strong references to pthread stuff. (#10038)
* Add more strong references to pthread stuff.

* Circumvent libgcc/libmusl mistake in multi-threaded detection.

* CHANGELOG.
2019-09-19 12:36:15 +03:00
Jan 415272fe52
add assertions for Cache memory usage not underflowing its minimal usage (#10035) 2019-09-18 14:31:50 +02:00
Max Neunhöffer 51ab5a47d2
Fix a shutdown hanger because of a collection status lock. (#10033) 2019-09-18 13:36:41 +02:00
Tobias Gödderz 4b81ed33b7 Interprocedural optimizations (#9596)
* 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

* 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
2019-09-18 11:29:37 +02:00
Dan Larkin-York a9df1907c3 Fix issue with cache allocation statistics. (#10028) 2019-09-18 10:45:35 +02:00
Tobias Gödderz 2f59a79435 Bug fix/sort limit rule too lax (#10014)
* Added regression test for consecutive constrained sorts

* Bugfix: sort-limit rule skipped too many node types

* Added CHANGELOG entry

* Apply sort-limit rule before single document operations
2019-09-18 09:04:43 +02:00