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