1
0
Fork 0
Commit Graph

247 Commits

Author SHA1 Message Date
jsteemann 80f1a7aaee Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-07-29 17:16:20 +02:00
Andreas Streichardt 526c8f42c2 Fix foxx issues in cluster
Bootstrap will now be done on the bootstrap coordinator.

queues will now be executed by the "foxxmaster"
2016-07-29 16:06:31 +02:00
jsteemann 2aa2e0dab4 removed server.h 2016-07-25 16:49:52 +02:00
Jan Christoph Uhde 06bd01695a removed: body() from GeneralRequest 2016-07-19 09:16:07 +02:00
Andreas Streichardt 60377dfd1b Throw exception when calling cluster methods in non-cluster mode 2016-06-14 13:04:03 +02:00
Andreas Streichardt d9d30d6bdc Throw exception when not running in cluster 2016-06-13 19:11:29 +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 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
Andreas Streichardt 4d13e8fb1b _listDatabases() => _databases() 2016-05-11 15:30:47 +02:00
Max Neunhoeffer 39ecd9fd13 Rename prefix and prefixStripped in AgencyComm. 2016-05-10 16:00:07 +02:00
Max Neunhoeffer 825f010980 Rename getValues2 to getValues. 2016-05-10 15:52:54 +02:00
Max Neunhoeffer d44546296d Remove AgencyComm::getValues() for good and purge TRI_json_t in ClusterInfo. 2016-05-10 15:43:58 +02:00
Andreas Streichardt 3e42435c46 No more loadCurrentCollections() 2016-05-09 13:36:16 +02:00
Max Neunhoeffer ce9ca50b95 Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel 2016-05-06 22:33:55 +02:00
Max Neunhoeffer 0fbc48b83e Improve cluster in various ways.
Finish implementation of AgencyReadTransaction.
Use AgencyReadTransaction in HeartbeatThread of coordinator (less requests).
Repair ClusterInfo::uniqid.
Repair AgencyComm::uniqid.
Remove x-etcd-index header.
Remove _index in AgencyCommResult.
Streamline HeartbeatThread of coordinator.
Remove lastCommandIndex from AgencyComm.
Fix HeartbeatThread::handleStateChange.
2016-05-06 22:30:27 +02:00
Andreas Streichardt 9cbe13dd43 Merge branch 'json_agency_comm' into devel 2016-05-06 17:21:41 +02:00
Andreas Streichardt 3773b0e66c Merge branch 'json_agency_comm' of github.com:arangodb/arangodb into json_agency_comm 2016-05-06 17:04:04 +02:00
Andreas Streichardt 04ba5156e5 Rework planned collection loading 2016-05-06 17:03:13 +02:00
Max Neunhoeffer 5690c0410c Remove option replicationQuorum which was unused as of now. 2016-05-06 09:53:01 +02:00
Max Neunhoeffer cae72d0d61 Make _vpack of AgencyCommResult abstract. 2016-05-04 16:49:02 +02:00
Max Neunhoeffer 355a412cd4 Remove second argument of getValues2. 2016-05-04 16:02:05 +02:00
Kaveh Vahedipour bd0c60f5e8 removed debug output 2016-05-03 11:49:09 +00:00
Kaveh Vahedipour 00ce93b8d0 Merge branch 'devel' of https://github.com/arangodb/arangodb into json_agency_comm 2016-05-02 16:14:37 +02:00
jsteemann 96fceb4411 use std::unordered_maps for headers 2016-05-01 20:52:47 +02:00
jsteemann 352df5f3ea cleanup 2016-05-01 15:32:33 +02:00
Kaveh Vahedipour 049cc8602e careful with loops :( 2016-04-27 16:53:09 +02:00
Kaveh Vahedipour 0530603763 dirty yet 2016-04-25 18:37:28 +02:00
Jan Steemann e3db1236c6 fixed compile warnings 2016-04-22 15:31:47 +02:00
Max Neunhoeffer ef01814127 Add servers entry to getCollectionInfoCurrent in JS. 2016-04-21 09:29:05 +02:00
Max Neunhoeffer aba651ad0d Better error handling. 2016-04-20 17:22:37 +02:00
Andreas Streichardt b03d4e610a Remove watchValue from agency 2016-04-13 15:42:23 +02:00
Kaveh Vahedipour a315997617 callback redesign 2016-04-07 10:20:08 +02:00
Frank Celler 494bdca847 splitted HttpRequest into GeneralRequest/HttpRequest 2016-03-31 11:45:21 +02:00
Jan Steemann 7b758efaeb handle status CL_COMM_BACKEND_UNAVAILABLE 2016-03-24 12:00:03 +01:00
Jan Steemann da1721f262 added assertions 2016-03-23 18:14:03 +01:00
jsteemann ff21453255 logger transition: all files in arangod exception transactions.cpp 2016-01-29 23:28:44 +01:00
Jan Steemann 828f46c76b shut up compiler 2016-01-29 19:19:06 +01:00
Michael Hackstein e0f0a6f1a8 Merge branch 'devel' of github.com:arangodb/arangodb into vpack 2016-01-29 14:18:05 +01:00
Michael Hackstein 436c377cb5 Merge branch 'devel' of github.com:arangodb/arangodb into vpack 2016-01-29 14:01:53 +01:00
Max Neunhoeffer 238937128a Merge branch 'devel' into ClustUp2 2016-01-29 13:59:11 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
Max Neunhoeffer 887e571a26 Merge branch 'devel' into ClustUp2 2016-01-26 18:01:42 +01:00
Michael Hackstein f9ada16a89 Merge branch 'devel' of github.com:arangodb/arangodb into vpack 2016-01-26 13:27:41 +01:00
Michael Hackstein 969ac75d19 Removed all TRI_json_t references from v8-vocindex and all it's surroundings 2016-01-26 13:27:21 +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
Michael Hackstein 18b66d5c83 Removed TRI_json_t entirely from AgencyComm. Also no legacy support anymore. 2016-01-25 16:39:56 +01:00
Michael Hackstein 191c2dc3a9 Merge branch 'devel' of github.com:arangodb/arangodb into vpack 2016-01-21 16:29:38 +01:00
jsteemann 842384016d namespace cleanup 2016-01-21 00:20:22 +01:00
Michael Hackstein 3c6ac9f38f Removed all TRI_json_t inputs to AgencyComm and replaced them by VPack. This commit stil has an error s.t. indexes cannot be dropped in Cluster. WIP. 2016-01-20 12:53:55 +01:00
Michael Hackstein 7f4980e87d Cluster internal communication now uses more VPack instead of TRI_json_t 2016-01-19 11:33:43 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
jsteemann f66eb007cd some const unification 2016-01-15 00:03:03 +01:00
Max Neunhoeffer b0283077db Merge branch 'devel' into ClustUp2 2016-01-11 11:41:36 +01:00
Max Neunhoeffer e7eae3a73a Merge branch 'devel' into ClustUp2 2016-01-11 11:01:45 +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 e81af6274a Add replicationFactor and replicationQuorum. 2015-12-28 14:47:27 +01:00
Max Neunhoeffer b337d9bd29 Fix shared_ptr<CONTAINER> direct-use in for bug. 2015-12-16 10:29:23 +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 a926c7570a Cleanup ClusterInfo library w.r.t. Current/Collections. 2015-12-04 15:08:47 +01:00
Max Neunhoeffer 3556f76469 Fix ClusterComm::asyncRequest w.r.t. body shared_ptr. 2015-12-02 14:15:18 +01:00
Max Neunhoeffer cc45a0d352 Implement role switching. 2015-10-23 16:45:21 +02:00
CoDEmanX 956b396e43 Change spelling of 'initialize' to American English (actual code and files) 2015-09-01 17:29:22 +02:00
CoDEmanX b4593a7e82 Change spelling of 'initialize' to American English (comments and log messages only) 2015-09-01 17:07:21 +02:00
Max Neunhoeffer b844ff3468 Finish the role "SECONDARY" in a cluster. Configure replication automatically. 2015-08-12 10:54:30 +02:00
Jan Steemann ec3ccd31ba split lock 2015-07-31 16:44:42 +02:00
Jan Steemann a6b2998b5d added try...catch blocks for V8-to-CPP bindings 2015-06-08 16:04:42 +02:00
Jan Steemann 4c7994597a cppcheck 2015-06-02 22:49:22 +02:00
Jan Steemann a9f2769ffa now compiles and links 2015-05-23 04:31:13 +02:00
Jan Steemann d41cff907e accept buffers 2015-03-09 19:05:04 +01:00
Jan Steemann c8338b9416 added ArangoClusterInfo.getServerName 2015-03-09 16:56:00 +01:00
Jan Steemann 22200118e1 added method getCoordinators() 2015-03-06 14:02:16 +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 e24278828c Changes to cluster startup for mesos cooperation.
This simplifies the cluster startup by introducing a further agency
lookup step using "local info" to find the "id". This allows an external
discovery process (see scripts/discover.js as an example) to configure
a new server in the cluster dynamically when it starts up.

New GNUmakefile targets
  pack-tar-config
  pack-tar
2015-01-28 12:58:24 +01:00
Willi Goesgens 1c4a72b106 The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
Jan Steemann dbf964e204 small optimizations 2014-09-24 12:09:13 +02:00
Max Neunhoeffer a7814a7ad2 Return headers and body in ArangoClusterComm.syncRequest method. 2014-08-25 16:35:02 +02:00
Max Neunhoeffer 9714979d73 Enable some more ClusterComm stuff for dbServers. 2014-07-31 12:19:46 +02:00
Max Neunhoeffer fa5096a710 Allow ClusterComm requests originate in DBservers. 2014-07-31 09:25:53 +02:00
Jan Steemann 39d7c71fce getResponsibleShard 2014-07-30 10:27:32 +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
Max Neunhoeffer 0af211c1e5 More header cleanups. 2014-05-21 13:42:41 +02:00
Jan Steemann 14813638dd removed boost 2014-05-12 17:22:42 +02:00
Max Neunhoeffer df68f47338 Use StringBuffer in SimpleHttpResult rather than stringstream. 2014-05-07 16:35:40 +02:00
Max Neunhoeffer 02b68533e1 Export cluster auth on dispatchers (non-cluster) to JS. 2014-05-06 13:01:54 +02:00
Jan Steemann 17bf8ebafb fixed VS warnings 2014-04-03 16:13:56 +02:00
Jan Steemann 3478c8bc74 cppcheck 2014-03-03 09:12:34 +01:00
Max Neunhoeffer 0a8555fab3 Sort out path to javascript files. 2014-02-28 14:19:04 +01:00
Frank Celler 9a410a5b71 added config for server state 2014-02-28 12:02:21 +01:00
Frank Celler f2121ff442 cleanup 2014-02-25 15:32:07 +01:00
Frank Celler 42fb8244e1 added requeue 2014-02-25 12:07:16 +01:00
Max Neunhoeffer 06907b7e9f Cleanup paths in planner and kickstarter. 2014-02-10 11:56:23 +01:00
Max Neunhoeffer bc79698750 Make executable path and basePath available through ServerState. 2014-02-10 09:59:41 +01:00
Jan Steemann 5f8a59d696 all() sharded 2014-01-29 13:51:12 +01:00
Max Neunhoeffer 60f47e1f21 Fix body management in asyncRequest. 2014-01-29 13:21:53 +01:00
Max Neunhoeffer 35c6a3ffdc Use shared_ptr for CollectionInfo(Current) export.
This at the same time fixes an allocation bug with TRI_json_t*.
2014-01-29 09:21:09 +01:00
Jan Steemann 5f442ef742 bugfixes 2014-01-23 11:47:49 +01:00
Max Neunhoeffer a1a99170e1 Add information about Current collections to ClusterInfo. 2014-01-21 14:28:30 +01:00
Jan Steemann 8010963a94 handle plan change for create/drop database 2014-01-16 17:03:10 +01:00
Jan Steemann 3b192782c5 removed some code 2014-01-15 17:22:13 +01:00
Jan Steemann b0e4dc91dd adjusted listDatabases and doesDatabaseExist 2014-01-15 16:01:05 +01:00
Jan Steemann 4a805062bb changed internal APIs 2014-01-15 13:36:38 +01:00
Jan Steemann e02b0b52e1 renamed methods 2014-01-15 10:52:56 +01:00
Jan Steemann ffa919d716 some modifications for collection accessing 2014-01-13 16:32:40 +01:00
Max Neunhoeffer 65c3cc6484 Improve ClusterComm library by allowing to talk to DB servers directly. 2014-01-09 14:55:29 +01:00
Max Neunhoeffer e01ac6ff5b Delay loading of caches and add getDBServers. 2014-01-09 12:12:18 +01:00
Max Neunhoeffer ab9726f278 Rename getDatabases to listDatabases. 2014-01-08 16:12:24 +01:00
Max Neunhoeffer d9ca01c31d First stab at get info about cluster databases. 2014-01-08 16:09:43 +01:00
Jan Steemann 37f75b929f make endpoints() result unique 2014-01-08 13:41:06 +01:00
Jan Steemann 14f996817e Merge branch 'sharding' of https://github.com/triAGENS/ArangoDB into sharding 2014-01-08 11:34:38 +01:00
Jan Steemann 2ce97f4db8 don't let uniqid() queries pass without key parameter 2014-01-08 11:34:15 +01:00
Max Neunhoeffer fa96bb9b3d Transfer better error handling to JS_ShardingTest 2014-01-08 09:24:43 +01:00
Jan Steemann 5b965b2a21 added initialised() method 2014-01-07 17:50:52 +01:00
Jan Steemann c6b79328f5 Merge branch 'sharding' of https://github.com/triAGENS/ArangoDB into sharding 2014-01-07 16:28:25 +01:00
Jan Steemann 45a5296e9e make agency.list() return a flat list if requested 2014-01-07 16:24:54 +01:00
Max Neunhoeffer e79698f456 Improve error handling. 2014-01-07 16:18:31 +01:00
Max Neunhoeffer c4332fe68c Merge branch 'sharding' of ssh://github.com/triAGENS/ArangoDB into sharding
Conflicts:
	init-cluster.sh
2014-01-07 14:25:14 +01:00
Max Neunhoeffer 38c24192ee Sending of synchronous requests in JavaScript done. 2014-01-07 14:24:27 +01:00
Max Neunhoeffer 80cec828b6 Fix two bugs. 2014-01-07 13:37:29 +01:00
Jan Steemann 1889fa52a0 Merge branch 'sharding' of https://github.com/triAGENS/ArangoDB into sharding 2014-01-07 11:57:55 +01:00
Jan Steemann 4f3cd8ffc9 hide an object 2014-01-07 11:57:34 +01:00
Max Neunhoeffer eccb063eba Fix name of global object ArangoClusterComm. 2014-01-07 11:56:06 +01:00
Max Neunhoeffer 11e018e6b2 Make global ArangoClusterComm object in each thread. 2014-01-07 11:50:05 +01:00
Max Neunhoeffer bbf28e3501 Merge branch 'sharding' of ssh://github.com/triAGENS/ArangoDB into sharding
Conflicts:
	arangod/Cluster/v8-cluster.cpp
2014-01-07 11:45:43 +01:00
Max Neunhoeffer e30c965a4c Add JS_Wait function for ClusterComm in JavaScript. 2014-01-07 11:35:10 +01:00
Jan Steemann 3183e6d402 created global cluster object variables 2014-01-07 11:34:42 +01:00
Jan Steemann 3309743c1a moved some collection parameters around 2014-01-07 11:02:49 +01:00
Max Neunhoeffer 5747d6149f Merge branch 'sharding' of ssh://github.com/triAGENS/ArangoDB into sharding 2014-01-07 08:45:21 +01:00
Jan Steemann 5c0e6e12e0 added tests for serverstate and clusterinfo 2014-01-06 18:19:14 +01:00
Max Neunhoeffer 807bf46188 Merge branch 'sharding' of ssh://github.com/triAGENS/ArangoDB into sharding
Conflicts:
	arangod/Cluster/v8-cluster.cpp
2014-01-06 16:20:45 +01:00
Max Neunhoeffer 33d063d6d6 Start to move ClusterComm to JavaScript. 2014-01-06 16:18:24 +01:00
Jan Steemann 4de2b916c4 added test for uniqid 2014-01-06 13:18:01 +01:00
Jan Steemann 84c46ddb4d added agency.list() 2014-01-03 15:11:03 +01:00
Jan Steemann 532a59d0a3 added agency locks 2014-01-03 13:52:54 +01:00
Jan Steemann 87c1897c23 added lock and unlock functions, yet untested 2014-01-02 18:03:08 +01:00
Jan Steemann c48d54c49b conditional execution of agency tests 2014-01-02 17:22:37 +01:00
Jan Steemann b07ad28c35 added caching function to generate ids 2014-01-02 17:16:44 +01:00
Jan Steemann f952fd8bc0 added uniqid function to generate IDs 2014-01-02 16:37:11 +01:00
Jan Steemann d1bee4cf58 added functions to query the server state 2014-01-02 15:13:44 +01:00
Jan Steemann 7980a51e26 moved cluster JS functions to its own files 2014-01-02 13:49:00 +01:00