1
0
Fork 0
Commit Graph

263 Commits

Author SHA1 Message Date
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