1
0
Fork 0
Commit Graph

87 Commits

Author SHA1 Message Date
Jan e6dcff8360
Bug fix/cleanup 2805 (#5477) 2018-05-29 10:16:48 +02:00
Jan Christoph Uhde a2dcb6cc5d WIP - start adding optional overwrite to insert operation (RepSert) (#5268) 2018-05-24 19:47:15 +02:00
Simon 35992ad67b Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
jsteemann 27e985d5d0 safer casts for ExecutionNode types 2018-05-10 20:08:37 +02:00
Jan 349e2c1681 forward-port AQL optimizations from 3.3 (#5020)
* forward-port AQL optimizations from 3.3

* fix restrict-to-single-shard rule

* added tests for specific cases

* ModificationNodes now can know if they are restricted or not

* OptimizerRule now updates the ModificationNode instead of setting ownName on remote node.

* The DBServerEngine container now only sends a subset of snippets (those which are relevant) It is  able to restrict any part of the query to a certain shard or even a list of shards

* ExecutionEngine CreateBlocks in ClusterMode now returns Result instead of throwing.

* Adapted Coordinator side to a bitter mapping of RemoteNode => QuerySnippets. This is still ongoing work.

* Fixed Coordinator enginecontainer test and finisehd implementation of EngineInfoContainerDBServer. Seems to work so far, need to adapt test to prove it.

* Adapted test for modification nodes and restrict to shard.

* restrictTo can now be de-/serialized on Modification Nodes

* Fixed Community Compile Error

* Added a test for Indexes/EnumerateCollection nodes

* EnumerateCollection and IndexNode now have options to be restricted to a single shard, opt rule not yet updated

* DBServer part of planning now checks Enumerate and IndexNodes for single shard optimization

* Added tests for simple single shard optimization on IndexNodes

* Adapted optimzierrule for SingleShard optimierung on IndexNodes

* Fixed an issue with externally restricted shard ids in combination with shard_id based optimization

* Added a test for multiple single shard optimizations on the same collection

* Removed collection/Shard duplicate check of optimize to single shard rules

* Updated Explainer to handle optimize to single shard

* Let more tests pass an optimized AQL variant

* Temporarily disabled a tests that can only be solved after some work in transaction
2018-04-30 11:25:09 +02:00
Tobias Gödderz 089b21e3de fix dump&restore of smart graphs (#5093)
* fix dump&restore of smart graphs (#5093)

* 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

* fix jslint

* Made internal.isEnterprise() available in js client context. Taken from 3.3/59f655fa

* fix broken dump_encrypted test

* Removed accidentally copied CHANGELOG entry
2018-04-16 12:28:13 +02:00
Jan 5105e2b3c0
Remove "atLeast" from the internal query APIs (#4848) 2018-03-21 09:10:28 +01:00
Jan 3cf03cfb21
Feature/cleanup internal (#4680) 2018-02-27 14:53:31 +01:00
Jan d841b56c77
Bug fix/several optimizations (#4672) 2018-02-26 15:19:01 +01:00
Jan Christoph Uhde c8300db459 Improve error handling and tracing of getSome (#4123) 2018-01-03 16:01:36 +01:00
Jan b4f6ee9273 Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
Jan e13a611047 fix cache for gather block (#3656) 2017-11-11 22:30:38 +01:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Jan 1579eb9dfd show which unique constraint was violated in an AQL query (#3330)
this addresses https://stackoverflow.com/questions/46427126/arangodb-3-2-unique-constraint-violation-id-or-key
2017-10-13 12:13:44 +02:00
Jan 2525a3a1bd Feature/mmfiles hash lookup performance (#3265)
* speed up full collection scans in mmfiles engine

* some API cleanup
2017-09-26 14:48:06 +02:00
Jan b9d48a4304 use forwarding to build AqlValues in place (#3238) 2017-09-15 14:30:40 +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
jsteemann 94ce6a65f8 renamed methods 2017-02-27 11:22:44 +01:00
jsteemann d49c5c3fc0 simplified internal APIs a bit 2017-02-15 12:42:07 +01:00
jsteemann df3a3eff9f refactoring 2017-02-15 10:26:05 +01:00
jsteemann a3509aa041 centralize access to AqlItemBlocks memory management 2017-02-06 23:33:43 +01:00
jsteemann 0cb7d416d0 moved transaction collections into their own files 2017-01-26 16:51:57 +01:00
jsteemann 369b2c7bc6 added optional memory limit for AQL queries 2016-12-06 13:23:41 +01:00
Frank Celler e4ba82e8e9 rewrite of AgencyComm 2016-10-23 00:46:30 +02:00
Michael Hackstein 319481dea7 Fixed babies and errors in AQL Modification cluster blocks. 2016-10-20 18:13:11 +02:00
Max Neunhoeffer 4bf4c7f11a Fixed UPSERT problems in cluster. 2016-10-20 00:58:01 +02:00
Max Neunhoeffer 14d8d35fd9 Put tracing of AQL queries in.
Use by setting { tracing: 1} (only calls) or { tracing: 2} (with
result) into 4th argument of db._query
2016-10-19 11:36:29 +02:00
Max Neunhoeffer 2c7ff60e1e Fix UPSERT in cluster. 2016-10-14 22:00:07 +02:00
Max Neunhoeffer 82b2d23345 Fix UpdateBlock for smart edges. 2016-10-13 20:05:56 +02:00
Max Neunhoeffer a3b5e993f7 Fix AQL REPLACE for smart edges. 2016-10-13 10:58:59 +02:00
Max Neunhoeffer f2570169e5 Fix a bug in RemoveBlock. 2016-10-12 10:37:05 +02:00
Max Neunhoeffer 38240c34d9 Add support for AQL REMOVE for smart edge collections. 2016-10-11 23:21:38 +02:00
Max Neunhoeffer 5d65b0b206 Revert "Fix return value of local edge write to smart edge collection in AQL."
This reverts commit d163a05e49.
2016-10-10 00:32:36 +02:00
Max Neunhoeffer d163a05e49 Fix return value of local edge write to smart edge collection in AQL. 2016-10-10 00:30:32 +02:00
Max Neunhoeffer 1fed0239f7 Fix writing of edges in AQL to smart edge collections. 2016-10-10 00:25:46 +02:00
Max Neunhoeffer 476856954f Changes necessary for AQL INSERT for smart edge collections. 2016-10-09 23:53:26 +02:00
Max Neunhoeffer f316a9bc4c More changes for AQL writing to smart edge collections. 2016-10-08 00:48:23 +02:00
Jan Steemann 351f800eb1 fix upsert 2016-07-07 15:15:43 +02:00
Jan Steemann 664cf840e7 fix assertion failure 2016-07-07 13:24:07 +02:00
Jan Steemann f8b61c6723 added tests 2016-07-07 12:22:24 +02:00
jsteemann 325aa13795 merge with velocypack 2016-06-06 16:59:36 +02:00
jsteemann 806f65e339 remove unused objects 2016-05-14 00:10:06 +02:00
jsteemann 0ce8599598 fixes for MSVC 2016-05-10 19:01:21 +02:00
jsteemann f2d014ff6a bugfixes 2016-05-04 16:10:04 +02:00
Michael Hackstein d79f4d1d10 UPSERT Block now forbids storing a key if the collection is not sharded by it. 2016-05-03 14:23:42 +02:00
Michael Hackstein 5367dec865 If there is an error in Modification Blocks the request for this document is now correctly skipped on single-doc case. 2016-05-03 13:48:28 +02:00
Michael Hackstein c4be4a56d7 Fixed a bug in AQL REPLACE 2016-05-03 12:51:01 +02:00
jsteemann d6833b6862 potentially optimized lookups for _from and _to 2016-04-30 14:21:15 +02:00