1
0
Fork 0
Commit Graph

6 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
Frank Celler 4dcf5dc817 updated disclaimer 2014-06-20 16:40:35 +02:00
Jan Steemann eba885d583 fixed member initialization in second constructor 2014-06-10 17:41:11 +02:00
Max Neunhoeffer 12a5ba03fd Move class TransactionBase to voc-types.h 2014-06-10 16:37:35 +02:00
Max Neunhoeffer 3c0c785ba5 First set of protection assertions. 2014-06-10 13:03:04 +02:00
Max Neunhoeffer f7e5e28780 Create thread global transaction protection assertions. 2014-06-10 11:31:07 +02:00