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