1
0
Fork 0
Commit Graph

473 Commits

Author SHA1 Message Date
Max Neunhoeffer af3cb6868f Increase timeouts for larger clusters. 2015-11-10 10:21:36 +01:00
Max Neunhoeffer 21bc08715a Fix heartbeat thread of DBserver, less sleeping. 2015-11-03 10:19:26 +01:00
Jan Steemann 41c388eab5 don't sleep in DBServer's HeartbeatThread::run() in case of plan changes 2015-10-30 11:35:18 +01:00
Max Neunhoeffer cc45a0d352 Implement role switching. 2015-10-23 16:45:21 +02:00
CoDEmanX 8cf82b1cf3 Add two missing backticks to unbreak docu blocks 2015-09-09 22:01:55 +02:00
CoDEmanX 3a9648d78a More Americanization 2015-09-03 22:25:43 +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
Jan Steemann a3ee707f6f less creations of empty headers maps 2015-08-30 22:11:18 +02:00
Jan Steemann 1be3733a64 moved some handlers around
fix disappeared handlers
2015-08-20 01:26:52 +02:00
Jan Steemann ea382e1f4c removed triagens::rest::Handler 2015-08-20 01:26:50 +02:00
Max Neunhoeffer ff135a10ad Add some overrides to silence a clang compiler warning. 2015-08-19 14:46:06 +02:00
Max Neunhoeffer b844ff3468 Finish the role "SECONDARY" in a cluster. Configure replication automatically. 2015-08-12 10:54:30 +02:00
Max Neunhoeffer 63b4aa641a Delete a TRI_vector_t usage. 2015-08-07 13:16:49 +02:00
Jan Steemann b0add93e37 fixed potential value overruns 2015-08-06 11:47:01 +02:00
Max Neunhoeffer 5b4eeb4dae Silence a visual studio warning. 2015-08-04 14:29:59 +02:00
Max Neunhoeffer 96d7b339b7 Use LOG_DEBUG instead of LOG_ERROR for Agency problems. 2015-08-04 09:42:06 +02:00
Max Neunhoeffer 4f2afbf7e3 Better debugging messages if agency communication goes wrong in ClusterInfo. 2015-08-04 09:32:57 +02:00
Max Neunhoeffer 0bdeed7f24 Fix bug in ClusterInfo. 2015-08-03 15:17:09 +02:00
Max Neunhoeffer d0cfab6248 Try to sort out ClusterInfo protection for good. 2015-08-03 15:07:59 +02:00
Max Neunhoeffer e8b4e510d8 Some reordering and better comments. 2015-08-03 10:17:34 +02:00
Max Neunhoeffer 67a983af73 Yet more unordered_maps. 2015-08-03 09:42:04 +02:00
Max Neunhoeffer 387e3e5701 More unordered_maps. 2015-08-03 09:18:33 +02:00
Max Neunhoeffer 41ab436378 Change some maps to unordered_maps. 2015-08-03 08:58:46 +02:00
Jan Steemann 738237ce39 fixed method comment 2015-07-31 17:32:55 +02:00
Jan Steemann 9afd8974b7 split big lock 2015-07-31 16:56:26 +02:00
Jan Steemann ec3ccd31ba split lock 2015-07-31 16:44:42 +02:00
Jan Steemann efe643aee9 unique_ptr'ed 2015-07-31 15:55:56 +02:00
Jan Steemann dfd31975f6 potential fix 2015-07-31 14:57:32 +02:00
Jan Steemann 8fbf3894cd renamed 2015-07-31 14:56:52 +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 38cdc662ec removed configure options `--enable-timing` and `--enable-figures` 2015-07-21 18:47:43 +02:00
Jan Steemann 20c96b5e46 removed locks 2015-07-21 17:34:57 +02:00
Jan Steemann 123a76089f removed JobType, special jobs and monopolizer 2015-07-21 14:07:53 +02:00
Jan Steemann 09736f965f more lock instrumentation 2015-07-21 13:09:02 +02:00
Jan Steemann e8205e5dc0 use new and delete for TRI_server_t 2015-07-21 11:57:04 +02:00
Jan Steemann 124fe7a34c use new/delete for TRI_vocbase_t 2015-07-20 12:08:13 +02:00
Willi Goesgens 1dea6b29a5 Fix memleaks in coordinator. 2015-06-30 14:36:37 +02:00
Willi Goesgens df031a9f2a Find the right place where the json wasn't free'd 2015-06-25 09:45:05 +02:00
Willi Goesgens 29366dff96 Fix memleaks. 2015-06-24 17:42:26 +02:00
Jan Steemann 18ba738027 use std::unique_ptr in some cases 2015-06-18 21:45:33 +02:00
Jan Steemann a6b2998b5d added try...catch blocks for V8-to-CPP bindings 2015-06-08 16:04:42 +02:00
Jan Steemann b76cb5caee use nullptr 2015-06-02 23:39:41 +02:00
Jan Steemann 4c7994597a cppcheck 2015-06-02 22:49:22 +02:00
Jan Steemann 39cf9c527c micro optimizations 2015-06-01 14:56:01 +02:00
Jan Steemann 07e553cd8d Merge branch 'devel' of https://github.com/arangodb/arangodb into index-cxx
Conflicts:
	arangod/V8Server/v8-vocbase.cpp
2015-05-26 17:07:26 +02:00
Jan Steemann 2a9e809009 fix cluster 2015-05-26 14:49:13 +02:00
Jan Steemann a9f2769ffa now compiles and links 2015-05-23 04:31:13 +02:00
Jan Steemann 343c9b4bea added static helper methods for cluster state 2015-05-20 13:51:02 +02:00
Max Neunhoeffer a3923c9eaf Fix configurability of indexBuckets. 2015-05-18 01:39:54 -07:00
Jan Steemann 6b412a1c01 Merge branch 'json-privatisierung' of https://github.com/arangodb/arangodb into json-privatisierung 2015-05-07 13:05:12 +02:00
Willi Goesgens 66c6fe6e2c When shutting down the Agency, don't delete connections which are just busy. 2015-05-06 18:05:55 +02:00
Jan Steemann 5615881cac nullptr 2015-05-06 15:35:04 +02:00
Jan Steemann e93225d7f5 fix cluster document fetching 2015-05-06 11:00:41 +02:00
Jan Steemann a007a867ee "privatized" TRI_vector_t internals.
This allows changing the internals of TRI_vector_t structs in order to make the struct smaller.
On 64 bits, the size of TRI_vector_t is reduced from 48 bytes to 28 bytes.
TRI_json_t does benefit from this, as its biggest component is a TRI_vector_t.
2015-05-05 10:31:02 +02:00
Jan Steemann 0099fe260a return value optimization for AQL 2015-04-30 23:38:27 +02:00
Max Neunhoeffer bd0724add6 Fix retry behaviour in some places of cluster code. 2015-04-13 13:03:40 +02:00
Max Neunhoeffer 4b4e1b2466 Fix number of tries in getCollection. 2015-04-13 12:07:53 +02:00
Frank Celler ffbc45d2e2 new HttpServer & HttpCommTask
Conflicts:
	Makefile.in
	arangod/Aql/RestAqlHandler.cpp
	arangod/Aql/grammar.cpp
	arangod/Cluster/RestShardHandler.cpp
	lib/GeneralServer/GeneralServer.h
	lib/GeneralServer/GeneralServerDispatcher.h
	lib/HttpServer/HttpServerJob.h
	lib/HttpServer/HttpsCommTask.h
	lib/SimpleHttpClient/SslClientConnection.cpp
2015-03-31 09:12:01 +02:00
Jan Steemann 925f4fbab6 cleanup of some static const variables 2015-03-30 21:43:55 +02:00
Jan Steemann c352ba6a03 small logging refactoring 2015-03-26 03:09:07 +01:00
Jan Steemann 0ceff3f1b0 added cluster tests 2015-03-24 18:28:55 +01:00
Jan Steemann 85308fa7f3 removed remainder of development mode 2015-03-19 10:33:31 +01: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
Jan Steemann a9006f0087 initialize 2015-03-05 10:38:49 +01:00
Jan Steemann 9ff4e7922d thread-safety 2015-03-04 18:10:21 +01:00
Jan Steemann 4958086d63 thread safety 2015-03-04 18:02:06 +01:00
Willi Goesgens bff0ee6e38 static const std::string not as const as thought - at least in windows. 2015-03-04 16:39:54 +01:00
Jan Steemann 8493801ea1 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-02-26 16:39:50 +01:00
Jan Steemann 1461d75ed4 improve collection loading time
This patch reduces collection loading time by preallocating enough space in primary index ahead of time.
When a collection is closed, the number of documents in the collection will be stored in the collection's JSON info file.
This value is used to determine the initial size for the primary index when the collection is loaded next time.

Datafile iteration has also been made slightly faster.

The above changes will have a significant benefit when the collection's datafiles are already in the OS buffer cache, and when there are no secondary indexes.
Loading datafiles from disk or building secondary indexes may be more time-consuming than the improvements reapable by this patch, but the patch shouldn't hurt anyway.
2015-02-26 16:35:51 +01:00
Willi Goesgens 8a407c6576 Give the Agency more time to reply before we retry. 2015-02-26 15:24:47 +01:00
Jan Steemann 7c5cc16a8a less locking for cluster status checks 2015-02-18 18:14:12 +01:00
Jan Steemann b1d023821e fixed tests 2015-02-11 18:46:52 +01:00
Jan Steemann f7210e3604 sparse index tests 2015-02-11 00:25:30 +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
Jan Steemann 5aa3d09085 fixed wrong comment 2015-01-24 14:03:12 +01:00
Jan Steemann b54dfae96f removed several JSON functions 2015-01-13 01:31:04 +01:00
Jan Steemann 2d0a37d826 automatically create _keys in DistributeNode on insert 2015-01-12 10:33:05 +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
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Willi Goesgens 1c4a72b106 The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
Alan Plum 41ab3aa4d6 Renamed mergeArrays->mergeObjects to make API less confusing. 2014-12-02 17:03:03 +01:00
Jan Steemann ac36c0cd7a added mergeArrays attribute 2014-11-28 13:58:49 +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
Willi Goesgens 61412f78f3 Fix memleak: if we bail out, we need to free the json as we promised we would. 2014-11-07 13:05:10 +01: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 09e0a4e3c4 nullptr 2014-10-29 23:17:56 +01:00
Willi Goesgens 1376d44110 Clear the ClusterCommResult objects before re-assigning them; else we loose memory. 2014-10-29 19:16:34 +01:00