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
Willi Goesgens
26a0ce441c
nullptr
2014-10-29 19:11:48 +01:00
Willi Goesgens
73ac2e729c
another place to ensure that the pointer to TRI_json_t is free'd
2014-10-29 19:11:24 +01:00
Willi Goesgens
6a0fe7af9c
Fix memleak: TRI_Insert2ArrayJson doesn't use the pointer; need to use TRI_Insert3ArrayJson here.
2014-10-29 16:39:54 +01:00
Willi Goesgens
6048b8a92b
Fix memleak: TRI_Insert2ArrayJson doesn't use the pointer; need to use TRI_Insert3ArrayJson here.
2014-10-29 13:51:56 +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
da10751030
do not spam dispatcher queue
2014-10-28 16:01:40 +01:00
Jan Steemann
13d240384f
less namespace pollution
2014-10-28 00:24:37 +01:00
Jan Steemann
3c05701851
nullptr
2014-10-23 22:50:53 +02:00
Jan Steemann
e2ef21c33a
fixed non-working DistributeBlock
2014-10-22 12:07:31 +02:00
Jan Steemann
40e62e95a5
fixed out-of-scheduler-threads issue
2014-10-20 18:27:50 +02:00
Jan Steemann
34d34af340
do not throw on shutdown
2014-10-20 16:17:19 +02:00
Jan Steemann
10c9a54932
start transactions on coordinator
2014-10-20 15:39:55 +02:00
Jan Steemann
c93c952c05
fixed from/to-handling in cluster
2014-10-20 12:32:08 +02:00
Jan Steemann
04d5f5dfdd
fixed segfault
2014-10-20 10:50:31 +02:00
Jan Steemann
2b68d83072
added enterContext and exitContext to Query
2014-10-17 12:01:50 +02:00
Jan Steemann
e5d8414865
fixed more queries
2014-10-07 12:36:17 +02:00
Jan Steemann
873d8291db
fixed race condition in getCurrentDBServers
2014-10-02 15:50:04 +02:00
Jan Steemann
1d1ce39d50
fixed warning
2014-10-02 15:35:43 +02:00
Jan Steemann
e28ad821b0
fixed spuriously occurring "database not found" error
2014-10-02 15:34:38 +02:00
Jan Steemann
c3ce45e0dd
added block instanciation for coordinator, v0.0.0
2014-09-26 20:17:42 +02:00
Jan Steemann
dbf964e204
small optimizations
2014-09-24 12:09:13 +02:00
Jan Steemann
38fdaa4066
removed unused function parameter
2014-09-19 20:28:41 +02:00
Jan Steemann
1ed4e20ba1
nullptr
2014-09-19 12:02:34 +02:00
Jan Steemann
506936dcdb
rename orgy
2014-09-13 02:35:13 +02:00
Jan Steemann
669cb3b235
renamed files
2014-09-13 01:44:01 +02:00
Jan Steemann
0dc0bc834f
more files renamed
2014-09-13 00:20:30 +02:00
Jan Steemann
87afcf5e8d
the great rename
2014-09-13 00:10:11 +02:00
Jan Steemann
c034307dca
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Utils/CollectionNameResolver.h
2014-09-10 15:54:49 +02:00
Max Neunhoeffer
a6d57d2c8a
Fix DBserver bug with CollectionNameResolver and local collections.
2014-09-10 15:50:41 +02:00
Jan Steemann
aadd0f9254
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Utils/CollectionNameResolver.h
arangod/V8Server/v8-vocbase.cpp
2014-08-30 17:35:08 +02:00
Jan Steemann
c0463a1797
added `type` option for `GET /_api/document?collection=...`
...
Conflicts:
CHANGELOG
2014-08-30 17:26:24 +02:00
Jan Steemann
cd1d0c45f8
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-query.cpp
2014-08-27 19:25:37 +02:00
Max Neunhoeffer
a7814a7ad2
Return headers and body in ArangoClusterComm.syncRequest method.
2014-08-25 16:35:02 +02:00
Jan Steemann
a70a9613f6
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
lib/BasicsC/voc-errors.h
2014-08-22 21:51:38 +02:00
Frank Celler
9fa3d22d6c
towards new dispatcher interface
2014-08-18 23:37:32 +02:00
Jan Steemann
30b32f1f90
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Ahuacatl/ahuacatl-grammar.h
arangod/V8Server/v8-vocbase.cpp
js/server/tests/ahuacatl-general-graph.js
2014-08-13 16:29:57 +02:00
Max Neunhoeffer
28f0d7be05
Sort out TRI_CompareValuesJson to use UTF8 on demand.
2014-08-13 14:22:05 +02:00
Frank Celler
be06ef7f25
new upgrade-database (formely known as version-check) and new startup procedure
2014-08-07 14:12:19 +02:00
Max Neunhoeffer
390f0fe605
Implement distributeShardsLike
2014-08-01 17:05:04 +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
Max Neunhoeffer
92d68cfd0b
Allow asynchronous cluster internal communication between DBservers.
2014-07-30 10:47:28 +02:00
Jan Steemann
39d7c71fce
getResponsibleShard
2014-07-30 10:27:32 +02:00
Thomas Schmidts
e46d87f23c
Changed documentation code in configure chapter
2014-07-02 14:08:41 +02:00
Max Neunhoeffer
2f784c7e4d
Add a WAL flush for the cluster to flush the WAL on all DBservers.
2014-07-01 17:00:05 +02:00
Esteban Lombeyda
99e2aac9a8
avoiding segmentation fault in cluster
2014-06-26 14:57:57 +02:00
Frank Celler
4dcf5dc817
updated disclaimer
2014-06-20 16:40:35 +02:00
Jan Steemann
b952c6724d
recovery
2014-06-17 18:19:04 +02:00
Jan Steemann
89f6070e01
cppcheck
2014-06-11 17:53:44 +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
Jan Steemann
d4dd58b264
merged primary-collection.cpp with document-collection.cpp
2014-05-31 00:22:32 +02:00
Jan Steemann
7b521a4c9e
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into mjmh
...
Conflicts:
arangod/VocBase/document-collection.cpp
arangod/VocBase/document-collection.h
2014-05-30 12:51:20 +02:00
Max Neunhoeffer
04a3dfff7b
Fix logic of abort in handlePlanChangeCoordinator.
2014-05-29 00:32:13 +02:00