1
0
Fork 0
Commit Graph

647 Commits

Author SHA1 Message Date
Jan 5c20d44edf
fix issue #5727: Edge document with user provided key is inserted as many times as the number of shards, violating the primary index (#5821) 2018-07-10 16:08:28 +02:00
Jan 32725ad0c4
prevent an optimization from destroying variables (#5586) 2018-06-18 11:58:31 +02:00
Jan cd93485275
more eager "remove-filter-covered-by-index" rule (#5495)
make optimizer rule "remove-filter-covered-by-index" not stop after removing
a sub-condition from a FILTER statement, but pass the optimized FILTER
statement again into the optimizer rule for further optimizations.
This allows optimizing away some more FILTER conditions than before.
2018-06-01 14:41:52 +02:00
Jan f07045bce6 fix cluster COLLECT optimization (#5504) 2018-06-01 10:41:39 +02:00
Jan 71a17e162c
potential fix for https://stackoverflow.com/questions/50496274/two-fu… (#5445) 2018-05-28 13:55:35 +02:00
Jan 731925080d
Feature 3.3/aql optimizations (#5140) 2018-05-15 14:41:07 +02:00
Jan 790fa27a67
fix valgrind issues (#5284) 2018-05-07 22:39:59 +02:00
Michael Hackstein 5decb66d01
fix dump&restore of smart graphs (#5065)
* Added tests for dump-restore of SmartGraphs

* Arangosh will now expose isSmart and the smartGraphAttribute on properties

* RestReplicationHandler will now ignore smart-graph collections unless you execute it with force

* Added changelog

* Reactivated original mmfiles dump/restore test

* Skip hidden smart graph collections in arangodump

* Do not dump shadowCollections metadata of smart edge collections

* Cluster optimizer rules for soerted gather nodes now handle virtual edge collections correctly

* Added a dump/restore tests for smartgraphs in rocksdb as well

* Deactivated checks for writesExecuted statistics in dump/restore tests for smartgraphs mmfiles

* Really exclude shadowCollections

* Reduced loglevel

* Added tests

* Don't change single-server behaviour

* Fix tests for omitted shadowCollections and hidden collections

* Activated statistics in MMFIles dump test again and included isEnterprise in rocksdb dump test

* A modification node can now disableStatistics, which means it does not contribute to query->extras() this is only relevant in SmartGraph case so far.

* Added a test to dump&restore satellite collections

* Bugfix: restore satellite collections properly

* Added regression test for internal issue #2237

* Fix bug #2237

* Updated CHANGELOG

* Copied dump/restore tests to rockdsb

* Removed enterprise test

* Added inline comment for smart-edge collections in optimizer rules

* Removed duplicate CHANGELOG entry

* Simplified removal of shadowCollections
2018-04-10 17:21:03 +02:00
Jan 2a97de317e
fix restrict-to-single-shard rule (#5050)
* fix restrict-to-single-shard rule

* added tests for specific cases
2018-04-06 14:30:08 +02:00
Jan c6eef6da7e
fixed issue #4934: Wrong used GeoIndex depending on FILTER order (#4947) 2018-03-26 09:43:31 +02:00
Jan 50fef0f430
multiple cluster-related AQL optimizations (#4928)
* multiple cluster-related AQL optimizations

* do not apply single-shard optimization if _includedShards is already set from the outside

* implement changes requested by @mchacki
2018-03-23 14:52:58 +01:00
Jan 5e795da259
Feature 3.3/optimize cluster collect (#4895) 2018-03-22 18:36:15 +01:00
Jan 021794e4d2
fixed issue #4827: COLLECT on edge _to field doesn't group distinct values as expected (#4829) 2018-03-13 14:26:26 +01:00
Jan 8c1eccff33 fixed issue #4651 (#4660) 2018-03-01 16:44:05 +01:00
Jan f31734a198
fixed issue #4185: On execution of FULLTEXT search / AQL query db is … (#4239) 2018-01-15 22:46:14 +01:00
Jan b2e3a6614a fixed issue #4197: AQL statement not working in 3.3.1 when upgraded from 3.2.10 (#4207) 2018-01-04 00:06:41 +01:00
Jan 5230df9f72
Feature 3.3/fulltext optimizations (#3925) 2017-12-19 21:40:12 +01:00
Jan d0021ac71a
fix issue #planning/1511 (#4029) 2017-12-13 22:09:46 +01:00
Jan 9c5893e7a7
fix premature unlock (#3802) (#4027)
* fix some deadlocks found by evil lock manager (tm)

* fix duplicate lock

* fix indentation

* ensure proper lock dependencies

* fix lock acquisition

* removed useless comment

* do not lock twice

* create either a V8 transaction context or a standalone transaction context, depending on if we are called from within V8 or not

* AQL micro optimizations

* use explicit constructor

* only use V8DealerFeature's ConditionLocker for acquiring a free V8 context

entering and exiting the selected context is then done later on without having to hold the ConditionLocker

* remove some recursive locks

* Disable custom deadlock detection when Thread Sanitizer is enabled

* Changing ifdef's

* grr

* broke gcc

* Using atomic for ApplicationServer::_server

* fix premature unlock

* add some asserts

* honor collection locking in cluster

* yet one more lock fix

* removed assertion

* some more bugfixes

* Fixing assert

(cherry picked from commit 1155df173bfb67303077fbe04ee8d909517bfd21)
2017-12-13 18:46:14 +01:00
Jan 6ce073c2d5 fixed issue #3640: limit in subquery (#3903) 2017-12-07 10:41:46 +01:00
Jan 733f27e997 Bug fix/fix compilation with gxx7 (#3637) 2017-11-10 16:00:57 +01:00
Jan bef52d7dc3
Bug fix/cleanup after cppcheck (#3639) 2017-11-10 13:53:28 +01:00
Jan Christoph Uhde 5a6046874d fixes: geoindex type 1 queries (#3575) 2017-11-07 15:03:45 +01:00
Jan f1497e0df7 fixed issue #3395 (#3399) 2017-10-13 12:25:46 +02:00
Jan dba4b90754 cleanup a few cases of fatal errors (#3274)
* cleanup a few cases of fatal errors

* fix multiple compile errors (my bad)

* fixed missing brace
2017-09-19 21:58:21 +02:00
Jan 0a71b54e1f fix out-of-bounds attribute accessor calls (#3273) 2017-09-18 14:01:06 +02:00
Jan 5165155ed1 Bug fix/fixes 0609 (#3227)
* do not use V8 variant of AQL functions in early optimization stage when a C++ variant is available

* additionally, simplify AQL function definitions and aliases

* warn when more than 90% of max mappings are in use

* added C++ variant of replication catchup

* added `--log.role` option

* updated CHANGELOG

* removed non-existing scheduler.threads option from config

* removed useless __FILE__, __LINE__ invocations

* updated CHANGELOG

* allow a priority V8 context

* remove TRI_CORE_MEM_ZONE

* try to fix Windows errors & warnings

* cleanup

* removed memory zones altogether

* exclude system collections from collection tests
2017-09-13 16:28:21 +02:00
Simon Grätzer ffc465433a No access collections Improvements (#3190)
* consolidated EdgeDocumentToken

* optimizing cluster traversal

* adding skip collection checks

* API cleanup

* copying AQLValue to avoid use-after-free bugs

* Fixing rocksdb SingleServerEdgeCursor

* Fixing a collection resolving issue
2017-09-07 14:55:07 +02:00
Jan 62f9231aa5 Bug fix/predictable results data modifcation multiple fors (#2921) 2017-08-01 17:08:35 +02:00
Jan Christoph Uhde 3b4246c0ff Bug fix/traverse and modify (#2830)
* fix traverse and modify

* fix filter deletion in geo index optimization rule

* update test definitions

* fix second traverse function

* use port ranges when starting cluster

* reduce memory consumption of cluster test

Now we execute 6 instead of 12 test concurrently.
2017-07-25 22:18:59 +02:00
Frank Celler a5a25754ed Feature/reduce extraction to projection (#2792)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule

* cppcheck

* try to fix compile error on MacOS

* bug fix for MacOSX

* missing namespace (in Windows compile)
2017-07-14 08:40:29 +02:00
Frank Celler 40d73d5a8b Revert "[WIP] Feature/reduce extraction to projection (#2735)"
This reverts commit 5bfcff30cd.
2017-07-12 12:52:14 +02:00
Jan 5bfcff30cd [WIP] Feature/reduce extraction to projection (#2735)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule
2017-07-12 11:22:29 +02:00
Michael Hackstein 2cd48e614b Feature/optimizer rule remove filter covered by traversal (#2731)
* Added a first test for remove-filter-covered-by-traverser rule.

* initial try at adding the functions

* Initial try at fixing all cases

* Fixing optimizer rule order

* Changing rule

* excluding quantifier ANY

* Fixing assertion error

* quick fix for some failed traverser cases

* Fixing quantifier related tests

* Adding upper limit for scannedIndex in cluster

* Fixing the mmfiles asserts

* Allow the coordinator to do condition checking on edges again. Used in enterprise.

* Fix naming of optimizer rules (#2739)
2017-07-10 10:15:17 +02:00
Jan Christoph Uhde 562cc77b59 Bug fix/issue 2499 insert 9 instead of 1 (#2727)
* Add testcase to demonstrate #2499

  - In subqueries inserts get pushed to the DB-Servers

  - these create documents documents on each DB-Server that don't respect the shard-key
  
- subsequent deletes will fail to detect the shard correctly and will also fail.

* fix for #2499
2017-07-06 09:53:39 +02:00
Frank Celler 6b47544611 Revert "Feature/optimizer rule remove filter covered by traversal" (#2724)
* Revert "Feature/authorization query cache (#2720)"

This reverts commit 83712b7b4a.

* Revert "properly return index in case of unique constraint violation (#2716)"

This reverts commit c3f346e0a5.

* Revert "fix https://github.com/arangodb/planning/issues/388 (#2714)"

This reverts commit 1d944b97a4.

* Revert "fix typo (#2718)"

This reverts commit 61a80ed697.

* Revert "Feature/optimizer rule remove filter covered by traversal (#2676)"

This reverts commit c54b81fb69.
2017-07-04 11:13:36 +02:00
Simon Grätzer c54b81fb69 Feature/optimizer rule remove filter covered by traversal (#2676) 2017-07-03 18:39:32 +02:00
jsteemann d13144f389 fixed issue #2515 2017-06-01 13:45:47 +02:00
Simon Grätzer df7e12d79b Working geo index + tests 2017-05-09 15:04:51 +02:00
Michael Hackstein 0fa1980064 More unified merge of Traverser- and ShortestPath- into GraphNode. Now the ShortestPathNode creates TraverserEngines on the Cluster. Finally everything ready to wire computation together 2017-04-19 15:23:37 +02:00
Michael Hackstein 1087065ea5 Merge branch 'devel' of github.com:arangodb/arangodb into engine-api 2017-04-13 17:34:25 +02:00
Michael Hackstein 034b38f0cc Replaced the velocypack ConstantDistance ShortestPath API by a StringRef & TraverserCache version. This should be save for RocksDB. This commit fails in ClusterMode. 2017-04-12 14:21:53 +02:00
jsteemann 0229ab9326 issue #2415 2017-04-09 23:19:10 +02:00
jsteemann ef3322b81f make SORT RAND() removal a feature of the old engine 2017-04-04 08:55:08 +02:00
jsteemann 81dcfbbe3d pass trx into numberDocuments 2017-03-31 11:33:16 +02:00
jsteemann 467307fd07 fixed issue #2400 2017-03-28 13:58:49 +02:00
jsteemann 57dd92902c move engine-specific optimizer rules into engine 2017-03-07 13:10:58 +01:00
jsteemann f5c8932744 initial version of query execution plan cache, still very rough 2017-02-21 11:58:38 +01:00
jsteemann d49c5c3fc0 simplified internal APIs a bit 2017-02-15 12:42:07 +01:00
jsteemann bc080ae58f removed unused node type 2017-02-14 16:52:30 +01:00