1
0
Fork 0
Commit Graph

112 Commits

Author SHA1 Message Date
Max Neunhoeffer e50a705d9a Squashed commit of the following: organise locking in distributed AQL
Locking is now done in an extra round after the query is fully
instanciated in the cluster. All participating shards are locked
in alphabetical order of their shard ID (local collection name).
For this to work there is a new action in the RestAqlHandler plus a
mechanism to prevent the usual locking from happening: Each thread has a
thread local static class variable of
  triagens::arango::Transaction::_makeNolockHeaders
which is of type std::unordered_set<std::string>*.
Whenever this is not equal to nullptr and a local collection name is
stored in there, no locking or unlocking takes place. This information
is forwarded by the X-Arango-Nolock HTTP header, whenever an HTTP
request is sent via ClusterComm to a shard.
2014-12-22 14:40:22 +01:00
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Max Neunhoeffer 5c6d3d047d Better error handling and cleanup if instanciation runs into error.
This concerns AQL in the cluster.
2014-12-01 18:26:03 +01:00
Jan Steemann a7af7eed31 fix double free issue 2014-11-01 02:20:13 +01:00
Max Neunhoeffer 8f854ec3b2 Fix a leak in cluster instanciation of queries. 2014-10-31 11:50:34 +01:00
Max Neunhoeffer 4503d7a982 Fix a memleak in instanciation. 2014-10-30 14:58:12 +01:00
Max Neunhoeffer 9fcdc1fa94 Start building proper cleanup if instanciation throws in between. 2014-10-29 16:51:59 +01:00
Max Neunhoeffer 534ae76279 Add an explanation of the instanciation procedure. 2014-10-29 13:09:11 +01:00
Max Neunhoeffer da1c2c0109 Further simplify and cleanup instanciation. 2014-10-29 12:41:03 +01:00
Max Neunhoeffer 42eefbe71d Cleanup and comment instanciation. 2014-10-29 12:13:43 +01:00
Max Neunhoeffer 7e6e758a76 Remove unnecessary plans for coordinator pieces. 2014-10-29 11:41:24 +01:00
Max Neunhoeffer cfb26c8b0a Fix instanciation order, for good??? 2014-10-29 10:37:39 +01:00
Max Neunhoeffer 5da86da39d Another step to fix instanciation of plan in cluster. 2014-10-29 00:27:45 +01:00
Max Neunhoeffer 96c749682e Fix order of ExecutionBlock instanciation in cluster. 2014-10-28 23:48:48 +01:00
Jan Steemann 246c6fc840 less parameter passing 2014-10-28 16:50:09 +01:00
Jan Steemann 529bf386d7 fixed some API errors 2014-10-28 11:30:49 +01:00
Willi Goesgens 5ed8816788 Remove Explain of cluster snippets 2014-10-27 16:10:13 +01:00
Max Neunhoeffer 48dc3c5081 Remove an unnecessary TODO. 2014-10-27 13:41:46 +01:00
Jan Steemann 3306ff99fc removed unused variable 2014-10-24 17:29:36 +02:00
Willi Goesgens 91e04e3230 Implement outputting of splitted plans which are to be distributed to the db servers 2014-10-24 17:14:13 +02:00
Jan Steemann 36e0ec5e55 commented out code 2014-10-22 19:05:54 +02:00
Jan Steemann 7f2373204a fixed cloning of coordinator queries 2014-10-22 17:25:59 +02:00
Jan Steemann e2ef21c33a fixed non-working DistributeBlock 2014-10-22 12:07:31 +02:00
Jan Steemann 66bb48f61f removed spam output 2014-10-21 13:45:52 +02:00
James 6e934585f9 adding distribute node 2014-10-21 11:05:11 +01:00
Max Neunhoeffer ba41701bf8 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-20 17:33:04 +02:00
Max Neunhoeffer a54c4351bd Add a reminder for myself. 2014-10-20 17:32:56 +02:00
Jan Steemann 10c9a54932 start transactions on coordinator 2014-10-20 15:39:55 +02:00
Jan Steemann 6356c47f90 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-10-20 12:32:15 +02:00
Jan Steemann c93c952c05 fixed from/to-handling in cluster 2014-10-20 12:32:08 +02:00
Willi Goesgens 56099b96c9 - More precisely describe which request failed in the cluster communication
- catch exceptions during shutdown - they shouldn't be output since its usually already known.
2014-10-20 12:06:53 +02:00
Max Neunhoeffer 828926d819 Take out debugging output. 2014-10-20 11:29:52 +02:00
Max Neunhoeffer 44f89adc66 Fix instanciation of queries in which a sharded collection is used >=2 times. 2014-10-20 11:21:00 +02:00
Max Neunhoeffer 9744228bf9 Make correct parts on DBserver MAIN and DEPENDENT.
Seems not to work yet because of more fundamental problems.
2014-10-20 10:47:14 +02:00
Max Neunhoeffer cb75b0b18a Sort out transactions in cluster, part I. 2014-10-17 15:25:46 +02:00
Max Neunhoeffer 743d7d127a Snapshot, does not compile, try to sort out transactions in AQL. 2014-10-16 16:41:32 +02:00
Jan Steemann 70c59a61fd removed macro 2014-10-16 16:28:18 +02:00
Willi Goesgens 93ff2652e1 Walker: add possibility to enter Subqueries on the way in
NodeClone: don't clone the subquery reference list, we don't need them.
2014-10-15 14:59:06 +02:00
James 2ec03d57e3 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-08 10:26:19 +01:00
James 2ed7fb13b2 DistributeBlock getOrSkipSome done as far as possible. 2014-10-08 10:26:04 +01:00
Jan Steemann aef384da1a Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-10-07 12:36:36 +02:00
James e17a43f66e Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-07 11:19:25 +01:00
Jan Steemann 4ff58364f1 fixed cloning of plans 2014-10-07 12:00:37 +02:00
James 4a8ef130f5 DistributeBlock getOrSkipSome method minus the hard part. 2014-10-07 10:33:37 +01:00
Jan Steemann a62d83603e fixed missing register planning 2014-10-06 18:43:50 +02:00
Jan Steemann 0f83d8132f fixed some transaction threading errors 2014-10-06 18:39:01 +02:00
James 95fd279a52 distribution node/block declarations etc. 2014-10-06 12:57:09 +01:00
Jan Steemann f44599644c moved register assignment into constructor 2014-10-02 17:52:45 +02:00
Jan Steemann 573d837561 off-by-one fix 2014-10-02 17:06:12 +02:00
Willi Goesgens b8491932db Command the cluster node not to do optimizations. 2014-10-02 14:45:10 +02:00