Max Neunhoeffer
1782039138
Fix cluster-wide locking for AQL.
2014-12-22 16:21:45 +01:00
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
3269bfe3a9
simpler iteration
2014-10-23 14:43:43 +02:00
Jan Steemann
40e62e95a5
fixed out-of-scheduler-threads issue
2014-10-20 18:27:50 +02:00
Max Neunhoeffer
cb75b0b18a
Sort out transactions in cluster, part I.
2014-10-17 15:25:46 +02:00
Max Neunhoeffer
7a25f20e23
Fix clone for AqlTransactions.
2014-10-17 11:02:37 +02:00
Max Neunhoeffer
d508812ec3
Silence a compiler warning.
2014-10-17 09:09:36 +02:00
Max Neunhoeffer
83ebd46652
Tell AqlTransaction constructor if transaction is main or sub.
...
Only lock collections in AqlTransactions that are main ones.
2014-10-16 23:59:02 +02:00
Max Neunhoeffer
a231ca4c82
Finish some changes to transactions in AQL.
2014-10-16 16:46:39 +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
Jan Steemann
dcb9427b6f
rewrote transaction contexts
2014-10-16 15:53:28 +02:00
Jan Steemann
0f83d8132f
fixed some transaction threading errors
2014-10-06 18:39:01 +02:00
Jan Steemann
573d837561
off-by-one fix
2014-10-02 17:06:12 +02:00
Jan Steemann
3ac25ad56f
fixed some issues with remote queries
2014-09-29 12:14:03 +02:00
Max Neunhoeffer
cf5e1be91e
Version version of HTTP API done.
2014-09-24 16:17:18 +02:00
Jan Steemann
ff2334b575
renamed method
2014-09-09 10:40:57 +02:00
Willi Goesgens
f4b4c202d2
Transaction: Abort on first error also when invoked through addCollections()
2014-09-08 17:48:00 +02:00
Willi Goesgens
68d30cef8b
Transaction: abort initialisation process on error so our internal error state stays sane.
2014-09-08 15:06:30 +02:00
Jan Steemann
1aeed2152c
fixed de-serialization
2014-08-21 10:02:30 +02:00
Max Neunhoeffer
5cbbd8a4c4
Fix barrier and documentCollection access in Expressions.
...
Still does not link.
2014-08-05 14:33:54 +02:00
Max Neunhoeffer
96d8dcc054
Major cleanup, not yet working.
2014-08-05 12:29:36 +02:00
Max Neunhoeffer
a9dac96bf3
Store AqlValue objects in AqlItemBlocks.
2014-08-05 11:05:24 +02:00
Jan Steemann
7fd236aa4f
fixed enumeratecollection block
2014-08-04 17:27:51 +02:00
Jan Steemann
182ab57e8d
transaction
2014-08-04 11:15:53 +02:00
Jan Steemann
de0b290bcd
moved AQL to use AhuacatlTransaction
2013-02-04 11:25:03 +01:00
Jan Steemann
ec26305a53
fixed AqlTransaction.h
2013-02-01 17:07:03 +01:00
Jan Steemann
187d8ecc69
some transaction rework
2013-01-08 17:26:16 +01:00
Jan Steemann
ad855bd2bd
fixed doxygen errors
2012-11-21 18:10:45 +01:00
Jan Steemann
9e40045025
changed document CRUD API signatures
2012-11-14 17:11:16 +01:00