1
0
Fork 0
Commit Graph

337 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
Willi Goesgens 1c4a72b106 The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
Alan Plum 41ab3aa4d6 Renamed mergeArrays->mergeObjects to make API less confusing. 2014-12-02 17:03:03 +01:00
Jan Steemann ac36c0cd7a added mergeArrays attribute 2014-11-28 13:58:49 +01:00
Max Neunhoeffer 5f26789c95 Cleanup code after making dispatcher elastic. 2014-11-07 20:25:05 -05:00
Max Neunhoeffer 353b16805a Add thread local static variable for current DispatcherThread. 2014-11-07 20:12:58 -05:00
Max Neunhoeffer ab451d8d91 Choose place to tell dispatcher more sensibly. 2014-11-07 17:36:16 -05:00
Max Neunhoeffer fdb44f8c17 Tell ClusterComm about the dispatcher. 2014-11-07 16:54:22 -05:00
Willi Goesgens 61412f78f3 Fix memleak: if we bail out, we need to free the json as we promised we would. 2014-11-07 13:05:10 +01:00
Jan Steemann beafbe6a5c fixed invalid reads 2014-11-07 11:57:26 +01:00
Willi Goesgens fcc6a11a4b Add debugging code, which adds backtrace on http headers, so you can see in ngrep whats biting you. 2014-11-06 15:17:17 +01:00
Jan Steemann 09e0a4e3c4 nullptr 2014-10-29 23:17:56 +01:00
Willi Goesgens 1376d44110 Clear the ClusterCommResult objects before re-assigning them; else we loose memory. 2014-10-29 19:16:34 +01:00
Willi Goesgens 26a0ce441c nullptr 2014-10-29 19:11:48 +01:00
Willi Goesgens 73ac2e729c another place to ensure that the pointer to TRI_json_t is free'd 2014-10-29 19:11:24 +01:00
Willi Goesgens 6a0fe7af9c Fix memleak: TRI_Insert2ArrayJson doesn't use the pointer; need to use TRI_Insert3ArrayJson here. 2014-10-29 16:39:54 +01:00
Willi Goesgens 6048b8a92b Fix memleak: TRI_Insert2ArrayJson doesn't use the pointer; need to use TRI_Insert3ArrayJson here. 2014-10-29 13:51:56 +01:00
Jan Steemann 8bb213e7ba sort and cache list expression values
emplace

fixed wrong assertion
2014-10-29 01:02:20 +01:00
Jan Steemann da10751030 do not spam dispatcher queue 2014-10-28 16:01:40 +01:00
Jan Steemann 13d240384f less namespace pollution 2014-10-28 00:24:37 +01:00
Jan Steemann 3c05701851 nullptr 2014-10-23 22:50:53 +02:00
Jan Steemann e2ef21c33a fixed non-working DistributeBlock 2014-10-22 12:07:31 +02:00
Jan Steemann 40e62e95a5 fixed out-of-scheduler-threads issue 2014-10-20 18:27:50 +02:00
Jan Steemann 34d34af340 do not throw on shutdown 2014-10-20 16:17:19 +02:00
Jan Steemann 10c9a54932 start transactions on coordinator 2014-10-20 15:39:55 +02:00
Jan Steemann c93c952c05 fixed from/to-handling in cluster 2014-10-20 12:32:08 +02:00
Jan Steemann 04d5f5dfdd fixed segfault 2014-10-20 10:50:31 +02:00
Jan Steemann 2b68d83072 added enterContext and exitContext to Query 2014-10-17 12:01:50 +02:00
Jan Steemann e5d8414865 fixed more queries 2014-10-07 12:36:17 +02:00
Jan Steemann 873d8291db fixed race condition in getCurrentDBServers 2014-10-02 15:50:04 +02:00
Jan Steemann 1d1ce39d50 fixed warning 2014-10-02 15:35:43 +02:00
Jan Steemann e28ad821b0 fixed spuriously occurring "database not found" error 2014-10-02 15:34:38 +02:00
Jan Steemann c3ce45e0dd added block instanciation for coordinator, v0.0.0 2014-09-26 20:17:42 +02:00
Jan Steemann dbf964e204 small optimizations 2014-09-24 12:09:13 +02:00
Jan Steemann 38fdaa4066 removed unused function parameter 2014-09-19 20:28:41 +02:00
Jan Steemann 1ed4e20ba1 nullptr 2014-09-19 12:02:34 +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 0dc0bc834f more files renamed 2014-09-13 00:20:30 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +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
Jan Steemann aadd0f9254 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/CollectionNameResolver.h
	arangod/V8Server/v8-vocbase.cpp
2014-08-30 17:35:08 +02:00
Jan Steemann c0463a1797 added `type` option for `GET /_api/document?collection=...`
Conflicts:
	CHANGELOG
2014-08-30 17:26:24 +02:00
Jan Steemann cd1d0c45f8 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-query.cpp
2014-08-27 19:25:37 +02:00
Max Neunhoeffer a7814a7ad2 Return headers and body in ArangoClusterComm.syncRequest method. 2014-08-25 16:35:02 +02:00
Jan Steemann a70a9613f6 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	lib/BasicsC/voc-errors.h
2014-08-22 21:51:38 +02:00
Frank Celler 9fa3d22d6c towards new dispatcher interface 2014-08-18 23:37:32 +02:00
Jan Steemann 30b32f1f90 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Ahuacatl/ahuacatl-grammar.h
	arangod/V8Server/v8-vocbase.cpp
	js/server/tests/ahuacatl-general-graph.js
2014-08-13 16:29:57 +02:00