1
0
Fork 0
arangodb/arangod/Utils
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
..
AqlTransaction.h Squashed commit of the following: organise locking in distributed AQL 2014-12-22 14:40:22 +01:00
CollectionGuard.h updated disclaimer 2014-06-20 16:40:35 +02:00
CollectionNameResolver.h less namespace pollution 2014-10-28 00:24:37 +01:00
CollectionReadLocker.h updated disclaimer 2014-06-20 16:40:35 +02:00
CollectionWriteLocker.h updated disclaimer 2014-06-20 16:40:35 +02:00
DatabaseGuard.h updated disclaimer 2014-06-20 16:40:35 +02:00
DocumentHelper.cpp the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
DocumentHelper.h the great rename 2014-09-13 00:10:11 +02:00
Exception.cpp leaner and meaner error messages 2014-11-07 10:53:00 +01:00
Exception.h forgot to commit 2014-11-07 11:04:21 +01:00
ExplicitTransaction.h issue #1099: do not fail if general-graph.remove is used inside a transaction 2014-11-17 15:47:39 +01:00
ReplicationTransaction.h rewrote transaction contexts 2014-10-16 15:53:28 +02:00
SingleCollectionReadOnlyTransaction.h rewrote transaction contexts 2014-10-16 15:53:28 +02:00
SingleCollectionTransaction.h less namespace pollution 2014-10-28 00:24:37 +01:00
SingleCollectionWriteTransaction.h rewrote transaction contexts 2014-10-16 15:53:28 +02:00
StandaloneTransactionContext.cpp removed Ahuacatl [skip ci] 2014-10-31 17:31:00 +01:00
StandaloneTransactionContext.h rewrote transaction contexts 2014-10-16 15:53:28 +02:00
Transaction.cpp Squashed commit of the following: organise locking in distributed AQL 2014-12-22 14:40:22 +01:00
Transaction.h Squashed commit of the following: organise locking in distributed AQL 2014-12-22 14:40:22 +01:00
TransactionContext.cpp rewrote transaction contexts 2014-10-16 15:53:28 +02:00
TransactionContext.h rewrote transaction contexts 2014-10-16 15:53:28 +02:00
V8ResolverGuard.h The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
V8TransactionContext.cpp The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
V8TransactionContext.h rewrote transaction contexts 2014-10-16 15:53:28 +02:00
transactions.h removed some macros 2014-10-16 16:31:49 +02:00