Max Neunhoeffer
cc76ffc5d2
Fix bug that callback was not called for singleRequest case in ClusterComm.
2016-03-21 23:00:44 +01:00
Kaveh Vahedipour
d6db18d655
Merge branch 'devel' of https://github.com/arangodb/arangodb into agency
2016-03-18 10:45:15 +01:00
Andreas Streichardt
614beefc74
Throw Http error 503 when a required backend is unavailable
2016-03-16 18:04:05 +00:00
Kaveh Vahedipour
61a55d61db
Merge branch 'devel' of https://github.com/arangodb/arangodb into agency
2016-03-10 17:37:43 +01:00
Frank Celler
dfa9047484
switch arangosh to new ApplicationFeatures and ProgramOptions
2016-03-08 23:32:43 +01:00
Kaveh Vahedipour
34976d462f
agency on
2016-02-26 09:31:05 +01:00
Frank Celler
37a0a7fc05
Merge branch 'devel' of github.com:arangodb/arangodb into solaris
2016-02-25 10:56:14 +01:00
jsteemann
851d19a9d6
logging simplifications
2016-02-25 00:00:18 +01:00
Frank Celler
4b2b85f1b5
more cleanup
2016-02-24 19:19:04 +01:00
Kaveh Vahedipour
86be0136ec
agency on
2016-02-24 18:26:32 +01:00
Frank Celler
bed46519f9
added DETACHED state
2016-02-23 15:27:36 +01:00
Frank Celler
a140ad9de2
added DETACHED state
2016-02-23 12:26:12 +01:00
Kaveh Vahedipour
89fba8f8d9
Merge branch 'devel' of https://github.com/arangodb/arangodb into agency
2016-02-19 11:35:03 +01:00
Frank Celler
345712c36f
changed to new Thread interface
2016-02-17 22:19:37 +01:00
Kaveh Vahedipour
df4508f59d
Merge branch 'devel' of https://github.com/arangodb/arangodb into agency
2016-02-04 11:40:54 +01:00
Max Neunhoeffer
777783a41e
Add a non-nullptr asserting in asyncRequest.
2016-02-04 10:53:29 +01:00
Frank Celler
bb3acf8cd5
fixed /_admin/log
2016-02-04 00:41:50 +01:00
Jan Steemann
b7abf5a40d
attempt to fix Windows build
2016-02-01 12:04:28 +01:00
jsteemann
2d7323a560
fixed warnings shown by clang-3.7
2016-01-31 02:17:36 +01:00
jsteemann
353c9732b7
removed last LOG_xxx macros
2016-01-30 04:03:18 +01:00
jsteemann
ff21453255
logger transition: all files in arangod exception transactions.cpp
2016-01-29 23:28:44 +01:00
Jan Steemann
9046e1831b
clang-format
2016-01-27 13:43:46 +01:00
Max Neunhoeffer
bee3f7e21a
Cleanup ClusterComm library. Allow singleRequest asyncRequests.
...
Also run ClusterComm sender thread and connection manager in
single server mode.
2016-01-26 11:05:15 +01:00
jsteemann
842384016d
namespace cleanup
2016-01-21 00:20:22 +01:00
jsteemann
431900f17a
changed namespace from triagens to arangodb
2016-01-17 00:44:53 +01:00
jsteemann
9f0576c65f
don't rely so much on namespace std being present
2016-01-08 01:05:06 +01:00
Jan Steemann
3ad20c0cae
auto-generated headers
2016-01-06 18:41:51 +01:00
Jan Steemann
a3b026d9d1
removed useless sections from code, unified include guards
2016-01-06 14:15:22 +01:00
Jan Steemann
f422576ee0
clang-format
2016-01-05 17:43:24 +01:00
Max Neunhoeffer
152f3485b3
Fix dump bug in cluster.
2015-12-22 14:18:11 +01:00
Jan Steemann
35eda37ab1
make_unique
2015-12-16 11:54:33 +01:00
Jan Steemann
a694b7ef48
make_unique
2015-12-16 11:36:35 +01:00
Max Neunhoeffer
754762c277
Fix improvement of memory management for ClusterComm.
2015-12-15 18:24:26 +01:00
Max Neunhoeffer
74b147bb20
Improve memory management in ClusterComm library.
2015-12-15 18:09:55 +01:00
Max Neunhoeffer
8a69ca5367
Merge branch 'devel' into ClustUp1
2015-12-15 09:23:51 +01:00
Jan Steemann
1b86f280de
small issues
2015-12-14 17:54:46 +01:00
Max Neunhoeffer
6ca9bd4e70
Improve ClusterComm pointer usage.
2015-12-14 14:27:04 +01:00
Max Neunhoeffer
7641feeb88
Fix ClusterComm library w.r.t. pointers.
2015-12-14 11:22:30 +01:00
Max Neunhoeffer
af4d729284
The ClusterComm C++11 revolution.
2015-12-11 23:26:10 +01:00
Max Neunhoeffer
60df924ac1
Change data structures for collections in Agency.
...
Snapshot, compiles, untested, needs new VelocyPack.
2015-12-04 15:08:47 +01:00
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