1
0
Fork 0
Commit Graph

273 Commits

Author SHA1 Message Date
Jan 731925080d
Feature 3.3/aql optimizations (#5140) 2018-05-15 14:41:07 +02:00
Simon a2ecd83859 adding ttl option for the query registry (#5096) 2018-04-11 15:50:12 +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 8c1eccff33 fixed issue #4651 (#4660) 2018-03-01 16:44:05 +01:00
Jan 451abcb23d added non-destructive DISTINCT (#3320)
* added non-destructive DISTINCT

* added tests

* update documentation
2017-10-18 12:52:33 +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
Max Neunhöffer f3acea797b Feature/cluster inventory version (#3152)
* Get rid of a compiler warning in community edition.

* Teach /_api/replication/clusterInventory to report Plan/Version and readiness.

This is first implemented in the ClusterInfo library.
Then the clusterInventory code uses it and checks readiness.
Readiness of a collection means that it is created and all shards
and all replications have been created and are in sync.
2017-08-30 13:34:23 +02:00
Simon Grätzer f3eb0c2ac0 No access collections (#3088)
* Added virtual attributes for enterprise on Methods.cpp

* Working no access collections

* align a comment

* Documentation and test fix

* fixing community build
2017-08-25 13:59:03 +02:00
Jan 8e65fbb539 Bug fix/issues 1708 (#3060)
* we must now ignore that datafiles are not sealed

this is because an unsealed datafile may have been produced by
renaming multiple journals to datafiles at server start

* acquire collection count after we have acquired the lock

* count the null byte as well

* fix count value acquisition

* send query fragments to the correct servers, even after failover or when a follower drops

the problem with using the previous shard-based approach is that responsibilities for shards may change at runtime
however, an AQL query must send all requests for the query to the initially used servers.
if there is a failover while the query is executing, we must still send all following requests to the same servers, and not the newly responsible servers
otherwise we potentially would try to get data from a query from server B while the query was only
instanciated on server A.
2017-08-17 21:48:27 +02:00
jsteemann ed21022f55 added test for shardids restriction 2017-05-29 17:02:16 +02:00
jsteemann a35f85bcc7 added proper docs for --query.fail-on-warning 2017-05-29 15:46:48 +02:00
Max Neunhoeffer d3f492158c Port 3.1 fixes to devel, move something into try block. 2017-04-26 11:17:08 +02:00
Michael Hackstein 4f899bfd2c Integreated a ShortestPathEngine on DBServers and wired it up with ShortestPathNode and Options. The path seems to be computed correctly in clsuter now, but the vertices are not yet retrieved. 2017-04-20 13:57:14 +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 50ce09cd98 Added a generic GraphNode as a base-class for Traversal and ShortestPath. It should handle Graph parsing and Engine creation. 2017-04-19 10:10:47 +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
Andreas Streichardt bf2efb387e Fix unlocking of AQL queries in the cluster 2017-04-10 17:01:24 +02:00
Michael Hackstein 053f953ee5 Fixes a coordinator crash in Clustered Traversal. In case of failover during query planning. 2017-03-30 13:24:44 +02:00
Max Neunhoeffer 0dc4274b6a Increase timeout in AQL query instantiation from 30s to 90s. 2017-03-23 13:37:15 +01:00
Max Neunhoeffer 29338899fd Finally port TraverserEngine locking bug fix manually. 2017-03-23 12:44:51 +01:00
Max Neunhoeffer 32953a4a97 Revert "Fix locking of shards in TraverserEngines."
This reverts commit 467088b8af.
2017-03-23 12:33:11 +01:00
Max Neunhoeffer 467088b8af Fix locking of shards in TraverserEngines. 2017-03-23 12:23:40 +01:00
jsteemann 3ed19e291d added "shardIds" option for AQL queries to restrict queries to specific shards 2017-03-08 15:07:10 +01:00
jsteemann d0df1952e8 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-24 17:51:59 +01:00
jsteemann f5c8932744 initial version of query execution plan cache, still very rough 2017-02-21 11:58:38 +01:00
jsteemann 089ff78d2d moved collection lock state into its own struct 2017-02-16 10:27:14 +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
jsteemann 7e690a0c61 renaming 2017-02-13 15:18:40 +01:00
jsteemann eb73dbf960 renaming 2017-02-13 13:30:57 +01:00
jsteemann d024a6d00a remove logging for non-topics 2017-02-10 09:32:50 +01:00
Max Neunhoeffer 883c11ea45 Handle the case that ClusterComm is already shut down gracefully.
This touches every single place where ClusterComm is being used.
2017-02-07 15:31:40 +01:00
Max Neunhoeffer 71dae630c3 Store ClusterComm singleton in shared_ptr. 2017-02-06 15:25:18 +01:00
jsteemann 3c5edeb9b2 fix cluster AQL statistics 2017-02-03 11:47:36 +01:00
jsteemann b8e1eb8d47 fix compile warnings in MSVC 2017-01-31 16:47:22 +01:00
jsteemann 5cb4e3e685 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-31 08:51:42 +01:00
Max Neunhoeffer 91c97d301a Lower timeout in query registry to 10min from 1h. 2017-01-30 23:59:46 +01:00
jsteemann 00b1632ece factored out AccessMode from transaction.h 2017-01-25 11:57:21 +01:00
jsteemann b96897e296 fixed some issues detected by coverity build tool 2016-12-12 15:41:54 +01:00
Andreas Streichardt 29e3c1487e Make satellite wait sync configurable 2016-12-08 16:49:51 +01:00
Andreas Streichardt c10f600ac7 Fix potential race 2016-12-07 18:38:14 +01:00
Andreas Streichardt 11bd9381d5 Add satellite collections 2016-12-06 16:40:50 +01:00
jsteemann 369b2c7bc6 added optional memory limit for AQL queries 2016-12-06 13:23:41 +01:00
Michael Hackstein d3a251ce47 Only create traverserEngines that actually have shards 2016-10-21 11:28:46 +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
Michael Hackstein fcdaee7c5d Merge branch 'devel' of github.com:arangodb/arangodb into devel 2016-09-13 14:43:34 +02:00
Michael Hackstein 74500ee693 The TraversalNode in AQL now can enhance the TraverserEngine information. 2016-09-13 14:43:25 +02:00