1
0
Fork 0
Commit Graph

291 Commits

Author SHA1 Message Date
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 19d2d6668f added random iteration for collections 2014-12-19 18:01:13 +01:00
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Willi Goesgens 1c4a72b106 The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
Jan Steemann 0a27b7cf89 removed debug output 2014-12-04 11:15:45 +01:00
Jan Steemann a71bf1819c issue #1099: do not fail if general-graph.remove is used inside a transaction 2014-11-17 15:47:39 +01:00
Jan Steemann f96a3d3f98 forgot to commit 2014-11-07 11:04:21 +01:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +01:00
Max Neunhoeffer 0044d7d1b0 Fix bug in AQL that abort() was called after commit() for trx. 2014-10-31 18:15:40 +01:00
Jan Steemann 4f68960ed7 removed Ahuacatl [skip ci] 2014-10-31 17:31:00 +01:00
Jan Steemann 83252851e6 report warnings in queries 2014-10-30 17:33:15 +01:00
Jan Steemann 13d240384f less namespace pollution 2014-10-28 00:24:37 +01:00
Jan Steemann 7452c70a3b moved backtrace functions 2014-10-27 18:15:10 +01:00
Willi Goesgens 7db7c22443 don't add the TRI_errno_string() to the exception twice. 2014-10-27 15:39:10 +01:00
Jan Steemann 38c8f4e328 do not log warning 2014-10-24 13:19:26 +02:00
Jan Steemann 3269bfe3a9 simpler iteration 2014-10-23 14:43:43 +02:00
Willi Goesgens 02c1f59007 Also add our errno strings to exceptions with user messages (if not TRI_ERROR_INTERNAL) 2014-10-21 12:43:33 +02:00
Jan Steemann 40e62e95a5 fixed out-of-scheduler-threads issue 2014-10-20 18:27:50 +02:00
Jan Steemann 10c9a54932 start transactions on coordinator 2014-10-20 15:39:55 +02:00
Jan Steemann 026fc2b83a next attempt to fix v8 context handling 2014-10-17 15:47:39 +02:00
Max Neunhoeffer 11ace2de3a Fix registerTransaction in StandaloneTransactionContext. 2014-10-17 15:33:48 +02:00
Max Neunhoeffer de7c303c5d Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
Conflicts:
	arangod/Aql/Query.cpp
2014-10-17 15:26:50 +02:00
Max Neunhoeffer cb75b0b18a Sort out transactions in cluster, part I. 2014-10-17 15:25:46 +02:00
Jan Steemann ee614d6ebd v8 context handling 2014-10-17 15:25:06 +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 223820eba3 removed some macros 2014-10-16 16:31:49 +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 38d43a2fb3 print error message in cases AqlHandler fails 2014-10-01 17:47:43 +02:00
Jan Steemann 3ac25ad56f fixed some issues with remote queries 2014-09-29 12:14:03 +02:00
Max Neunhoeffer 784a299ab8 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-24 16:17:44 +02:00
Max Neunhoeffer cf5e1be91e Version version of HTTP API done. 2014-09-24 16:17:18 +02:00
Jan Steemann 1e66c86d08 fixed invalid document access 2014-09-24 12:27:36 +02:00
Jan Steemann aa20c9e980 renamed last C files... 2014-09-13 22:38:25 +02:00
Jan Steemann 506936dcdb rename orgy 2014-09-13 02:35:13 +02:00
Jan Steemann 669cb3b235 renamed files 2014-09-13 01:44:01 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +02:00
Max Neunhoeffer d147be8de3 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 15:01:58 +02:00
Max Neunhoeffer 6194618906 Finish removal of type argument in create. 2014-09-12 15:01:16 +02:00
Max Neunhoeffer 949557fc35 Remove an unnecessary parameter. 2014-09-12 14:43:56 +02:00
Willi Goesgens 36b7ed81a0 Enrich expressions with more information, by catching them, enhancing and re-throwing them. 2014-09-12 13:57:48 +02:00
Jan Steemann c034307dca Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/CollectionNameResolver.h
2014-09-10 15:54:49 +02:00
Max Neunhoeffer a6d57d2c8a Fix DBserver bug with CollectionNameResolver and local collections. 2014-09-10 15:50:41 +02:00