1
0
Fork 0
Commit Graph

273 Commits

Author SHA1 Message Date
Max Neunhoeffer 16e181fe05 Adjust comments to reality for asyncRequest. 2015-12-03 09:23:15 +01:00
Max Neunhoeffer 3556f76469 Fix ClusterComm::asyncRequest w.r.t. body shared_ptr. 2015-12-02 14:15:18 +01:00
CoDEmanX b4593a7e82 Change spelling of 'initialize' to American English (comments and log messages only) 2015-09-01 17:07:21 +02:00
Jan Steemann b347f3021c nullptr 2015-07-30 22:33:43 +02:00
Jan Steemann f7ed62b04c hold locks for shorter periods in ConnectionManager 2015-07-30 20:03:23 +02:00
Frank Celler 4dccc6a8dc Merge branch 'devel' of github.com:arangodb/arangodb into dispatcher 2015-07-23 15:41:05 +02:00
Frank Celler 35a3c6421c moved dispatcher to atomic 2015-07-23 15:40:34 +02:00
Jan Steemann c1c119958a fix cluster startup 2015-07-22 16:36:05 +02:00
Jan Steemann 09736f965f more lock instrumentation 2015-07-21 13:09:02 +02:00
Jan Steemann 18ba738027 use std::unique_ptr in some cases 2015-06-18 21:45:33 +02:00
Jan Steemann a9006f0087 initialize 2015-03-05 10:38:49 +01:00
Willi Goesgens b17abadd42 Put error messages of simple http client into cluster comm results. 2015-02-04 11:25:12 +01:00
Max Neunhoeffer 05c069f361 Another fix for the distributed locking problem in cluster AQL. 2014-12-23 14:35:19 +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
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
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 8bb213e7ba sort and cache list expression values
emplace

fixed wrong assertion
2014-10-29 01:02:20 +01:00
Jan Steemann 3c05701851 nullptr 2014-10-23 22:50:53 +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 c3ce45e0dd added block instanciation for coordinator, v0.0.0 2014-09-26 20:17:42 +02:00
Jan Steemann 506936dcdb rename orgy 2014-09-13 02:35:13 +02:00
Frank Celler 4dcf5dc817 updated disclaimer 2014-06-20 16:40:35 +02:00
Jan Steemann 362838ae69 TRI_ASSERT 2014-06-06 11:25:19 +02:00
Jan Steemann f7049b8922 fixed startup race conditions 2014-06-04 15:18:20 +02:00
Max Neunhoeffer bb5b341ba6 Get rid of many "using namespace ..." occurrences in header files. 2014-05-22 15:13:16 +02:00
Jan Steemann 6e76f9d35f dont log cluster connection problems on startup as errors, but just as info 2014-04-02 16:27:26 +02:00
Jan Steemann 9ac1a7cc50 cluster-internal authentication 2014-02-26 12:01:41 +01:00
Jan Steemann 2f6f59e228 fixed startup race condition 2014-02-21 08:47:24 +01:00
Jan Steemann d92dd90aac fixed instance race condition 2014-02-19 17:10:11 +01:00
Jan Steemann dd5b172e2c fixed race conditions 2014-02-19 14:55:21 +01:00
Max Neunhoeffer 3d48a5294a Please clang++ by using an explicit cast to unsigned long long. 2014-02-12 11:52:09 +01:00
Max Neunhoeffer 4d3b747182 Add getAllDocumentsOnCoordinator and fix bugs. 2014-01-31 01:02:51 +01:00
Max Neunhoeffer 60f47e1f21 Fix body management in asyncRequest. 2014-01-29 13:21:53 +01:00
Jan Steemann e906f68235 windows fixes 2014-01-27 17:46:15 +01:00
Max Neunhoeffer fc96df2244 Separate out ConnectionManager from ClusterComm. 2014-01-14 15:04:55 +01:00
Max Neunhoeffer 8c8c0bff69 Create database in cluster done. 2014-01-13 15:07:32 +01:00
Max Neunhoeffer 65c3cc6484 Improve ClusterComm library by allowing to talk to DB servers directly. 2014-01-09 14:55:29 +01:00
Jan Steemann 5b965b2a21 added initialised() method 2014-01-07 17:50:52 +01:00
Max Neunhoeffer e79698f456 Improve error handling. 2014-01-07 16:18:31 +01:00
Max Neunhoeffer 80cec828b6 Fix two bugs. 2014-01-07 13:37:29 +01:00
Max Neunhoeffer cc8bb892fd Slightly change documentation of API for ClusterComm::wait() 2014-01-07 11:34:54 +01:00
Max Neunhoeffer 7c17c1c6e4 Follow coding guidelines in ClusterComm 2014-01-06 12:25:41 +01:00
Jan Steemann b3ed54f95b fixed warnings reported by cppcheck 2014-01-03 19:28:15 +01:00
Max Neunhoeffer 6c36c268f0 Improve debugging output of ClusterComm asynchronous requests. 2014-01-03 09:36:37 +01:00
Max Neunhoeffer 9598983051 Rename ClusterState to CluesterInfo. 2014-01-03 08:58:50 +01:00
Max Neunhoeffer 95f94397b0 Add synchronous request to ClusterComm. 2013-12-30 23:21:41 +01:00
Max Neunhoeffer b8ddcfef82 Remove *Delegate functions from ClusterComm library.
They do not make sense since we usually come from JavaScript
and have to take apart the JS objects anyway. Also, the requests
are usually quite small.
2013-12-30 16:36:27 +01:00
Max Neunhoeffer 52e5258a8a Add/modify asyncDelegate. 2013-12-30 16:11:21 +01:00
Max Neunhoeffer 842ad6d347 Improve error handling in HTTP requests for sharding. 2013-12-30 15:38:33 +01:00
Max Neunhoeffer c47ca741a4 Change a debug level into a trace level. 2013-12-30 14:51:06 +01:00
Max Neunhoeffer 5d51d7b3ba Get rid of many debugging messages. 2013-12-30 14:49:14 +01:00
Max Neunhoeffer c8b684dbd6 Generic test function for ClusterComm working. 2013-12-30 14:37:03 +01:00
Max Neunhoeffer 3415e3c0c8 Some cleanup in asyncRequest setup. 2013-12-30 10:22:21 +01:00
Max Neunhoeffer 9801cc9d19 Timeout basically working. 2013-12-27 16:18:56 +01:00
Max Neunhoeffer 62976629f0 Various memory leaks and callback improvements. 2013-12-27 13:15:52 +01:00
Max Neunhoeffer c9b2884def Full round trip implemented but not yet working. 2013-12-23 16:19:59 +01:00
Jan Steemann 16e16f705c some bugfixes for asyncRequest etc 2013-12-20 18:03:55 +01:00
Jan Steemann c460ab97e9 applied changes from devel branch 2013-12-20 15:40:56 +01:00
Max Neunhoeffer 7f2241ae20 Rearrange locking look in sending thread. 2013-12-19 16:24:15 +01:00
Max Neunhoeffer 5c80816352 Can do one roundtrip.
Client -REST-> Coordinator -> sendQueue -REST-> DBServer
         -> recvQueue -REST-> Client
2013-12-19 16:15:54 +01:00
Max Neunhoeffer b55c7e22f9 Basic queueing logic ready.
Actual sending still todo.
2013-12-19 09:06:45 +01:00
Max Neunhoeffer fdc664859c Add skeletons of new functions. 2013-12-17 13:52:31 +01:00
Max Neunhoeffer 9c4a25670e Start the background thread for ClusterComm. 2013-12-17 11:42:01 +01:00
Jan Steemann ed61b5272e added missing initialiser 2013-12-13 17:11:49 +01:00
Max Neunhoeffer 60eee47336 Next draft of ClusterComm API.
ClusterComm internals are unready and subject to change.
ClusterComm thread is not yet started and shut down.
ClusterState does not do anything (yet).
2013-12-13 17:07:18 +01:00
Max Neunhoeffer 721681b4ee Move Cluster state information to its own class. 2013-12-13 16:04:54 +01:00
Max Neunhoeffer 47a1c315b8 First proper draft of ClusterComm library. 2013-12-12 13:53:16 +01:00
Max Neunhoeffer e4cebe0536 Very first incomplete draft of ClusterComm.
Note that this is not yet in the Makefiles, but it at least compiles
if one puts it there.
2013-12-11 16:48:43 +01:00