1
0
Fork 0
Commit Graph

49 Commits

Author SHA1 Message Date
Max Neunhoeffer c0f1b72bab Add "sensible" madvise calls.
Essentially the strategy is: A newly created and a newly opened file
is advised to be "SEQUENTIAL ACCESS", because we will either write to
it or scan it sequentially. As soon as it is sealed, we switch the
advice to "RANDOM ACCESS", because this should be the normal pattern and
aggressive read-aheads tend to be bad. The collector and the compactor
switch a sealed file back to "SEQUENTIAL ACCESS" just before they scan
it and back to "RANDOM ACCESS", when they are done.

Furthermore, all data files in a collection are advised with "WILLNEED"
just before the collection is scanned during loading.

Finally, the actual hash table of AssocMulti is advised to be random
access, although this is an anonymous map given to us by malloc and not
a memory mapped file.
2015-08-26 16:45:26 +02:00
Jan Steemann f6f10dbd45 removed uncalled functions 2015-08-12 19:46:25 +02:00
Jan Steemann 7e4b615248 simplify call to mmap 2015-07-27 16:24:25 +02:00
Jan Steemann 8d29b600d3 fixed Windows compile errors 2015-05-26 18:40:27 +02:00
Jan Steemann 892127d9a2 extended dfdb capabilities, updated dfdb manual section 2015-05-21 15:26:12 +02:00
Jan Steemann db9e9d7c47 better dfdb diagnostics 2015-05-19 23:12:36 +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 e1312f2088 attempt to satisfy scan-build a bit 2015-04-16 11:47:18 +02:00
Willi Goesgens 07b3720e6d Fix windows error buffer handling 2015-03-20 13:21:59 +01:00
Willi Goesgens 4c359f98f0 OS-specific error messages for systemcalls also for windows users. 2015-03-19 12:58:13 +01:00
Jan Steemann 6360c798e7 added option `--database.ignore-logfile-errors`
Conflicts:
	arangod/RestServer/ArangoServer.cpp
2015-03-18 17:46:11 +01:00
Jan Steemann 3565595928 do not read over the end of a marker on CRC check 2015-03-18 17:45:06 +01:00
Jan Steemann daac3dd00c add group privileges for files created
Conflicts:
	lib/Basics/json.cpp
2015-03-18 17:39:22 +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
Jan Steemann 8f27ef531c Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	scripts/run
2014-09-15 09:51:04 +02:00
Jan Steemann 9dbbf16d11 fixed compile error 2014-09-15 09:17:54 +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 e653552c5e issue #997: added large file support for Windows 2014-09-10 13:12:18 +02:00
Jan Steemann cb76a38bf1 added separate logfile remover thread 2014-07-05 16:41:15 +02:00
Jan Steemann 57b5cde21e nullptr 2014-06-27 23:58:13 +02:00
Jan Steemann 9003d5c340 added remote transaction markers 2014-06-27 08:38:24 +02:00
Jan Steemann 5707e81a2d made function private 2014-06-27 08:32:23 +02:00
Jan Steemann 477f682a23 better error messages 2014-06-26 16:01:55 +02:00
Jan Steemann 1bb171787f clean up when journal creation fails 2014-06-26 13:03:45 +02:00
Jan Steemann 3b0d8b15d6 re-added replication 2014-06-23 13:22:38 +02:00
Frank Celler 4dcf5dc817 updated disclaimer 2014-06-20 16:40:35 +02:00
Jan Steemann 56b032c688 more tests 2014-06-20 09:38:35 +02:00
Jan Steemann 6c0dcf85c4 WAL DDL markers 2014-06-19 14:33:38 +02:00
Jan Steemann acba4c8851 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	CHANGELOG
2014-06-17 15:31:04 +02:00
Jan Steemann 091491d13b crash recovery tests 2014-06-17 15:30:11 +02:00
Frank Celler f794ee8368 fixed datafile debugger
Conflicts:
	CHANGELOG
2014-06-17 09:22:56 +02:00
Jan Steemann 964af24fe7 fixed compiler warnings 2014-06-14 01:49:17 +02:00
Jan Steemann d7f35bcc7b fixed datafile ticks issues 2014-06-13 14:46:21 +02:00
Jan Steemann 1b94fbf904 fixed crash in dump 2014-06-13 01:53:44 +02:00
Jan Steemann 3f22fa03be fixed some indexes 2014-06-08 03:03:16 +02:00
Jan Steemann 85aa80ede7 mini cleanup 2014-06-06 21:56:01 +02:00
Jan Steemann 362838ae69 TRI_ASSERT 2014-06-06 11:25:19 +02:00
Jan Steemann 8da6824d15 added TRI_ASSERT and TRI_ASSERT_EXPENSIVE 2014-06-06 10:32:20 +02:00
Jan Steemann 1a6fb79d81 added missing files 2014-06-04 14:28:28 +02:00
Jan Steemann 52dc9a91b8 added more markers and tests 2014-06-03 19:30:40 +02:00
Jan Steemann 7501fad516 removed VocBase/marker.h and VocBase/marker.cpp 2014-06-02 18:06:50 +02:00
Jan Steemann 39afcff925 type casts 2014-05-30 12:27:13 +02:00
Frank Celler c8ddff2a9b fixed shutdown for busy V8 contexts 2014-05-30 11:39:11 +02:00
Jan Steemann 9f7923ace3 fixed VS warnings 2014-05-13 13:39:42 +02:00
Max Neunhoeffer 35da05277e Fix two more char const* compiler unhappinesses. 2014-04-04 09:00:36 +02:00
Jan Steemann 149f7378cb cpp 2014-04-03 23:22:32 +02:00