1
0
Fork 0
Commit Graph

266 Commits

Author SHA1 Message Date
Jan Christoph Uhde 4873a9be71 finish ContentType enum 2016-08-23 15:02:55 +02:00
Jan Christoph Uhde d3654d99d8 finish RequestType enum 2016-08-23 14:49:29 +02:00
Jan Christoph Uhde e1e7e2da0b Merge remote-tracking branch 'origin/engine-vs-velocystream' into obi-velocystream-merge
* origin/engine-vs-velocystream: (91 commits)
  removed useless include
  removed JsonParser
  removed JsonHelper
  Fixed another failed nullptr handling in LogicalCollection cluster case.
  Fixed undefined behaviour in rest error creation
  Implemented updated of LogicalCollectionInfo. Right now this is only used in Cluster Mode
  agency startup changed to bootstrapping
  Mention howto control core files on linux.
  shutdown fixed
  Removed create / drop system collection from Cluster test. This is forbidden now
  The logical colleciton now knows it's journalSize
  Fixed a bug in collectionNameResolver. It now returns cid 0 for not found collections in cluster again.
  pushing corrected unittest script and cluster startup scripts
  adjusting startup scripts
  missing source file added
  we have a bootstrapping agency
  votes are processed correctly again
  Add module.context.createDocumentationRouter
  Don't implicitely build the windows packages.
  remove debug print
  ...

Conflicts:
	arangod/Cluster/ClusterComm.cpp
	arangod/GeneralServer/VppCommTask.h
	arangod/RestHandler/RestBaseHandler.cpp
	lib/Rest/VppRequest.h
2016-08-19 14:35:05 +02:00
Jan Christoph Uhde 3a9867f86d merge with frank 2016-08-19 10:00:43 +02:00
Frank Celler aed99f6b53 fixed ownership of handler 2016-08-18 23:06:36 +02:00
jsteemann 21dd73074a cppcheck 2016-08-18 16:57:55 +02:00
jsteemann d7b2141da0 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-18 16:22:00 +02:00
Andreas Streichardt dc74a0b681 Throw exceptions to avoid any circus behaviour 2016-08-18 14:52:45 +02:00
Andreas Streichardt 887da49edf Fix segfault when backend fails 2016-08-18 13:02:55 +02:00
jsteemann bc6633e4c0 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-04 13:33:10 +02:00
jsteemann 8a200f754c WG beautification 2016-08-04 12:36:14 +02:00
jsteemann 8baa7ec955 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-03 13:39:00 +02:00
Jan Steemann fe87b25ebb produce more meaningful error messages 2016-08-03 13:36:13 +02:00
Jan Christoph Uhde c59a553723 fix some errors -- http tests failing in cluster 2016-08-01 15:19:11 +02:00
Jan Christoph Uhde ef12d8dc2c struggle with ctor 2016-08-01 11:48:30 +02:00
jsteemann ebaabdb076 Merge branch 'obi-velocystream-4' of https://github.com/arangodb/arangodb into engine-vs-velocystream 2016-07-28 16:11:26 +02:00
jsteemann 2aa2e0dab4 removed server.h 2016-07-25 16:49:52 +02:00
Jan Christoph Uhde da81c32539 remove body() method from GeneralRequest 2016-07-25 16:46:53 +02:00
Max Neunhoeffer 410bd3d95b Default to JSON for the moment. 2016-07-20 16:19:17 -07:00
Max Neunhoeffer 2aa6cae452 Fix performance improvements w.r.t. headers. 2016-07-20 16:05:21 -07:00
Max Neunhoeffer 6f4b48cfcf Try to fix performance issue with single documents in cluster.
This creates a fast path in performRequests for the case that only
one request is given. We use syncRequest instead of asyncRequest
to save a network roundtrip. Furthermore, all queues and locks
in ClusterComm are circumvented.
2016-07-20 15:15:41 -07:00
Jan Christoph Uhde 6e9304cdc4 Merge remote-tracking branch 'origin/devel' into obi-rest-changes
* origin/devel: (43 commits)
  added dev button to graphs view [ci skip]
  grunt build [ci skip]
  Remove jshint
  Mention updating license info
  Prevent World War 3
  Always use --global-style when installing npm deps
  gv - editable & createable nodes, edges [ci skip]
  Rebuild aardvark
  Make sure Show Interface check asks for HTML
  oops, @not supported here.
  Fix phrase explaining when the collections are dropped alongside the graph definition.
  fixed issue #1941
  gv [ci skip]
  added test for "fake" _key values
  fixed issue #1942
  In Farbe und in STEREREOOOUU!
  grunt [ci skip]
  gv [ci skip]
  Fix documentation.
  Fix fix.
  ...
2016-07-15 09:20:04 +00:00
Jan Christoph Uhde 682cf7a2f1 virtualize functions of request/response 2016-07-14 08:40:05 +02:00
Max Neunhoeffer a78fd42b67 Merge branch 'HLC' into devel 2016-07-13 12:52:33 +02:00
Max Neunhoeffer 4649036943 Add and read out HLC time stamps in HTTP headers. 2016-07-12 23:36:14 +02:00
Max Neunhoeffer 985723e468 Add HLC timestamp as HTTP header in asyncRequst and syncRequest. 2016-07-12 23:11:57 +02:00
Frank Celler 38a55ed13c Merge branch 'devel' of github.com:arangodb/arangodb into FMH 2016-07-04 17:09:40 +02:00
Kaveh Vahedipour 34aed57a6d adding IN operator to kv-store 2016-06-22 14:44:43 +02:00
Max Neunhoeffer 4ba6d8acbb Next iteration of performRequests improvement.
asyncRequest has now two timeouts, one for the connection phase
leading to retries for failover situations, the other for the
completion of the whole operation.
2016-06-07 14:12:09 +02:00
Max Neunhoeffer f9fc22d0b4 Minor tweak to error handling in performRequests. 2016-06-06 23:51:58 +02:00
Max Neunhoeffer 297cfa4e86 Fix behaviour of ClusterComm::performRequests. 2016-06-06 14:40:25 +02:00
Max Neunhoeffer d54030eaac Fix bug in ClusterComm::asyncRequest. 2016-06-06 13:37:04 +02:00
Max Neunhoeffer 19747c8b6c Fix crash due to wrong usage of asyncRequest. 2016-06-06 11:30:39 +02:00
Max Neunhoeffer 20ef93d76b Cleanup of error handling for asyncRequest and syncRequest.
I have added a thorough description of events to the comments
in ClusterComm.h. This should enable everybody to do proper
error handling when using ClusterComm::asyncRequest and
ClusterComm::syncRequest.
2016-06-04 23:05:48 -06:00
Max Neunhoeffer 7ab83d4050 Slightly change signature of asyncRequest.
Error handling was inconsistent. This is cleaned up now.
2016-06-04 16:19:54 -06:00
Max Neunhoeffer 7afd1cb197 Fixes in ClusterComm for sync. replication and failover. 2016-05-31 01:15:09 -06:00
jsteemann 3d831b2e2b remove unnecessary checks 2016-05-30 14:45:11 +02:00
jsteemann b8f99fa717 slightly adjusted wait times 2016-05-30 09:34:13 +02:00
Frank Celler 3e0930aa16 Merge branch 'devel' of github.com:arangodb/arangodb into FMH 2016-05-24 10:21:18 +02:00
Max Neunhoeffer d988736ea9 Lower a logging level to DEBUG in performRequests.
Errors will be reported elsewhere.
2016-05-24 09:53:05 +02:00
Max Neunhoeffer 1e6fe40149 Reduce follower timeout to 3.0 seconds. 2016-05-24 08:38:01 +02:00
Frank Celler af0b0900af WIP 2016-05-22 21:08:37 +02:00
Frank Celler 806fce1dec WIP 2016-05-21 21:58:42 +02:00
Kaveh Vahedipour 37c0ec4f54 more complete verbose output on custercomm connections 2016-05-09 15:05:33 +02:00
jsteemann 96fceb4411 use std::unordered_maps for headers 2016-05-01 20:52:47 +02:00
Max Neunhoeffer 2bfe7b8b24 Finishing touches to performRequests. 2016-04-19 16:17:41 +02:00
Max Neunhoeffer 0d1a7239c1 Bugfixes for synchronous replication. 2016-04-19 14:44:23 +02:00
Max Neunhoeffer a321d417a9 Add performRequests. 2016-04-11 23:37:46 +02:00
Frank Celler 068f9defd7 splitted HttpResponse.h 2016-04-01 10:39:38 +02:00
Frank Celler 494bdca847 splitted HttpRequest into GeneralRequest/HttpRequest 2016-03-31 11:45:21 +02:00
Jan Steemann cb860d39e9 added assertions 2016-03-23 18:31:26 +01:00
Kaveh Vahedipour 4f152db27f Merge branch 'agency' of https://github.com/arangodb/arangodb into devel 2016-03-23 08:59:10 +00:00
Max Neunhoeffer ee9666e845 Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel 2016-03-21 23:02:59 +01:00
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