1
0
Fork 0
Commit Graph

851 Commits

Author SHA1 Message Date
Michael Hackstein a9e7adc1ed Fixes in basics SkipList 2015-09-01 15:05:48 +02:00
Michael Hackstein 4409a59265 Further templatification of skiplist and fixed the tests 2015-09-01 15:05:47 +02:00
Michael Hackstein e01f8f6b0f Fixes for C++ification of skiplist 2015-09-01 15:05:47 +02:00
Michael Hackstein cbd1cd7111 Removed non obsolete file for basic skiplist 2015-09-01 15:05:46 +02:00
Michael Hackstein d50df2617c Templatified the Basic skiplist. This avoids using void* and includes type safeness 2015-09-01 15:05:46 +02:00
Michael Hackstein b8b129d84c The primary index now uses the Hash-cache again 2015-08-31 11:33:12 +02:00
Jan Steemann 573c143398 constified 2015-08-29 02:18:02 +02:00
Michael Hackstein 81fa8018b0 Improved primary index lookups to use parameter by reference instead of byPointer. less error prone. Fixed some issues with it. 2015-08-28 09:28:24 +02:00
Michael Hackstein 771a6d5143 Should have dereferenced the pointer before adding sth 2015-08-28 09:28:24 +02:00
Michael Hackstein 082e49f2c1 Further adoptions of internal functionality to new Primary index 2015-08-28 09:28:23 +02:00
Michael Hackstein 6d4d41387b Implemented sequential read and any read in Transaction.h 2015-08-28 09:28:22 +02:00
Michael Hackstein 48240bccc1 Added findSequential and findRandom in AssocUnique. Required for PrimaryIndex 2015-08-28 09:28:22 +02:00
Michael Hackstein b791ea09da Fixed a bug in AssocUnique. 2015-08-27 10:38:43 +02:00
Jan Steemann 1a2449193e skiplist code cleanup 2015-08-26 22:52:41 +02:00
Jan Steemann 21793ff9f7 cppcheck 2015-08-26 21:36:44 +02:00
Jan Steemann e8505a35f2 cppcheck 2015-08-26 21:35:57 +02:00
Michael Hackstein 2212be29c0 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-08-26 17:10:14 +02:00
Michael Hackstein 7257bf0b9d Skiplist and HashIndex will now print their figures if requested 2015-08-26 17:10:02 +02:00
Jan Steemann 8f2df77c30 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-08-26 16:59:40 +02:00
Jan Steemann 249627e21b fixed VS build 2015-08-26 16:59:27 +02:00
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 a3550e331e fixed makefiles 2015-08-26 16:17:45 +02:00
Michael Hackstein 4a3b8007bd Fixed memory calculation of HashIndexMulti. And added index information for it 2015-08-26 14:38:23 +02:00
Michael Hackstein 4effa2291e Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-26 10:41:27 +02:00
Jan Steemann 9374a25822 removed unused error code 2015-08-25 19:55:48 +02:00
Michael Hackstein 40c1361244 Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-25 16:40:31 +02:00
Jan Steemann 18f231f666 do not read memory for comparisons 2015-08-25 16:09:12 +02:00
Max Neunhoeffer 7957df9215 Merge branch 'array_indexing' of ssh://github.com/ArangoDB/ArangoDB into array_indexing 2015-08-25 13:04:48 +02:00
Max Neunhoeffer 203e9a5195 Make hashcache in AssocMulti switchable-off. Does not work yet. 2015-08-25 12:46:47 +02:00
Michael Hackstein 57c6103458 Revert "The AssocUnique index now requires only an element to insert it. They key is derived"
This reverts commit ea70a948e254716905a7619e72b41fbef4f66695.
2015-08-25 09:40:29 +02:00
Michael Hackstein 2d6af6e872 The AssocUnique index now requires only an element to insert it. They key is derived 2015-08-24 17:14:39 +02:00
Michael Hackstein 5b6f8b7b8e Added a remove by key function to AssocUnique 2015-08-24 17:06:21 +02:00
Michael Hackstein ba8264eada AssocUnique is now a templated index. Foundation to move primary index to use it 2015-08-24 16:41:16 +02:00
Michael Hackstein f9647962d7 Moved HashIndex/hash-array.h to Basics/AssocUnique.h 2015-08-24 14:17:49 +02:00
Michael Hackstein 2dd0f7cf7f Continued @neunhoef 's on simplification of hash-index. The index itself will never free anything, calling class is responsible for freeing now. 2015-08-24 13:14:35 +02:00
Michael Hackstein d43c515b56 Fixed a bug in hash index buckets. When resizing the table was not nulled correctly. 2015-08-24 11:22:53 +02:00
Michael Hackstein b708a7ae68 Merge remote-tracking branch 'origin/devel' into array_indexing 2015-08-21 15:34:49 +02:00
Michael Hackstein 85b58a6d8d Fixed sparse indexes 2015-08-21 14:07:32 +02:00
Michael Hackstein 9bb7c0dec6 The skiplist index is now able to index arrays as well 2015-08-21 11:04:04 +02:00
Michael Hackstein 4bb8508d82 Implemented a new improved version of the Array index insertion function. 2015-08-20 14:03:17 +02:00
Willi Goesgens 61eb1e6002 Fix vs 2015 compile issue. 2015-08-20 11:34:01 +02:00
Jan Steemann deb7830615 fix dump/restore filenames 2015-08-20 02:47:00 +02:00
Jan Steemann 97d67e4399 use binary-safe string representations 2015-08-20 01:46:20 +02:00
Jan Steemann 0e3fddf917 fixes for VS2015 2015-08-19 17:18:13 +02:00
Michael Hackstein 241905c42c Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-19 12:51:53 +02:00
Jan Steemann 65424143c6 fix VS build 2015-08-19 12:37:34 +02:00
Jan Steemann 28ad41defc fix compile warnings 2015-08-19 12:22:34 +02:00
Jan Steemann e9a598c020 do not include deprecated header 2015-08-19 12:01:12 +02:00
Michael Hackstein 1a4d59d954 Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-19 11:57:12 +02:00
Jan Steemann 6680f3bb5a fix Mac build 2015-08-19 11:56:41 +02:00
Michael Hackstein 59e8ea3fad Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-19 11:56:34 +02:00
Jan Steemann 9f0384284f moved files 2015-08-19 11:19:37 +02:00
Jan Steemann 338dd7e100 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-08-17 18:41:13 +02:00
Jan Steemann 4e771b2728 replication improvements 2015-08-17 18:41:05 +02:00
Willi Goesgens 35de50d153 set the mac to add hashes too. 2015-08-17 17:31:15 +02:00
Michael Hackstein e867181a72 Merge remote-tracking branch 'origin/eimerung_hashindex' into array_indexing 2015-08-17 15:58:53 +02:00
Michael Hackstein 2c0bdb5861 Added a function in the attribute parser to transform an expanded attribute to the correct path for pid. 2015-08-17 12:43:13 +02:00
Max Neunhoeffer 1ba7587fc0 Rename ThreadProtector to DataProtector. 2015-08-17 12:43:12 +02:00
Jan Steemann a8428877e7 some cleanup 2015-08-17 12:43:12 +02:00
Jan Steemann 4db822443b allow non-const access to string-buffer 2015-08-17 12:43:11 +02:00
Michael Hackstein 8e3e2d547d Do not push <Class const> into vector. It does not work everywhere 2015-08-17 12:43:11 +02:00
Jan Steemann 98106510d2 remove CONST_CAST helper 2015-08-17 12:43:11 +02:00
Jan Steemann 205d1e73ed fix Visual Studio compile errors 2015-08-17 12:43:09 +02:00
Michael Hackstein d7d00a5d0d Fixed index comparision with multiple components. Introduced by AttributeName format. 2015-08-17 12:43:09 +02:00
Max Neunhoeffer a18faae89f Untemplatify ThreadProtector for those with gcc < 4.9.2.
We will revert this later once everybody has gcc >= 4.9.2.
2015-08-17 12:43:09 +02:00
Jan Steemann 907e6368c6 some unused function cleanup 2015-08-17 12:43:09 +02:00
Michael Hackstein c2338d80d0 A user can now create an indux on attribute[*] which will put an index on attribute and ignores the expand flag. Does not harm any feature in AQL now. 2015-08-17 12:43:08 +02:00
Michael Hackstein 17a8f73a06 Now the input for indexes is parsed using the new attribute parser. This means the flags for expanded Attributes are set. Also introduced a transformation function to transform an attributeName list back into a string. 2015-08-17 12:43:07 +02:00
Max Neunhoeffer a5cb29e026 Improve the explanation of ThreadProtectors. 2015-08-17 12:43:06 +02:00
Max Neunhoeffer 49f74b1baf Replace DataGuardian by ThreadProtector. 2015-08-17 12:43:06 +02:00
Michael Hackstein 8fbb2739b0 The indexes can now use the new AttributeName struct which contains a flag if the attribute should be Array-Indexed. Right now this flag is hard-coded to false in all cases and not persisted. 2015-08-17 12:43:05 +02:00
Michael Hackstein c85d5e347a Implemented a new AttributeNameParser this is able to identify [*] expansion and shall be used for array indexes. Also includes tests. 2015-08-17 12:43:05 +02:00
Jan Steemann 46565e4daf fix parallel insertion 2015-08-17 12:43:05 +02:00
Max Neunhoeffer 6d5d14a3ed Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel 2015-08-17 12:40:16 +02:00
Jan Steemann 57e9b55739 use TRI_CHAR_NODE_PAIR() 2015-08-14 00:54:59 +02:00
Max Neunhoeffer 1cfaf524d1 Fix DataProtector after blog post comments. 2015-08-13 23:16:07 +02:00
Jan Steemann 22e14c9444 fix buffer overrun when there are more users than DATA_PROTECTOR_MULTIPLICITY 2015-08-13 20:57:34 +02:00
Jan Steemann ca5b7661a3 initialize _list to nullptr
otherwise _list is uninitialized and if the assignment in the constructor fails with std::bad_alloc,
the destructor will delete from an uninitialized pointer
2015-08-13 20:19:41 +02:00
Jan Steemann 6dc10ba1de remove unused function 2015-08-13 16:34:55 +02:00
Jan Steemann a1d0c4e431 fixed g++5.1 compile error, added tests 2015-08-13 11:14:50 +02:00
Jan Steemann 99ac624ab0 declare differently 2015-08-13 00:17:37 +02:00
Jan Steemann 59744e9945 more version information (readline version, tcmalloc usage) 2015-08-12 21:38:50 +02:00
Jan Steemann 7b5ac63591 cppcheck 2015-08-12 21:37:28 +02:00
Jan Steemann 589e67357f issue #1434: return more meaningful error message from org/arangodb/general-graph::_fromVertex() 2015-08-12 21:36:27 +02:00
Jan Steemann f6f10dbd45 removed uncalled functions 2015-08-12 19:46:25 +02:00
Jan Steemann f1c5480e97 small cleanup 2015-08-12 15:01:33 +02:00
Jan Steemann e642ce972f throw error if collection not yet loaded 2015-08-10 17:08:41 +02:00
Max Neunhoeffer a851b5a69d Rename ThreadProtector to DataProtector. 2015-08-10 09:54:29 +02:00
Jan Steemann 5d82f0b385 some cleanup 2015-08-07 15:16:33 +02:00
Jan Steemann 68d58248da allow non-const access to string-buffer 2015-08-07 13:29:38 +02:00
Jan Steemann da38382202 remove CONST_CAST helper 2015-08-07 13:18:21 +02:00
Jan Steemann 9778bc16fd fix Visual Studio compile errors 2015-08-07 11:07:56 +02:00
Max Neunhoeffer 5472655ca7 Untemplatify ThreadProtector for those with gcc < 4.9.2.
We will revert this later once everybody has gcc >= 4.9.2.
2015-08-07 10:20:31 +02:00
Jan Steemann 330fac6225 some unused function cleanup 2015-08-06 21:25:32 +02:00
Max Neunhoeffer 0931e1aef8 Improve the explanation of ThreadProtectors. 2015-08-06 13:18:25 +02:00
Max Neunhoeffer e197e02b5b Replace DataGuardian by ThreadProtector. 2015-08-06 13:03:37 +02:00
Jan Steemann 2a88c76e0e fix parallel insertion 2015-08-05 15:16:07 +02:00
Jan Steemann c0e26e7a78 handle UBool result type correctly 2015-08-04 12:21:34 +02:00
Jan Steemann 35529ffd61 make more environment data available in --version 2015-08-04 11:21:50 +02:00
Jan Steemann 7a3d49be88 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-08-04 10:30:28 +02:00
Jan Steemann 0400737ae4 some flock diagnostics 2015-08-04 09:57:28 +02:00
Jan Steemann 0f1ce26e41 added function to create an ICU RegexMatcher 2015-08-03 23:57:26 +02:00
Jan Steemann 38227a81f8 speed up initial edge index creation 2015-08-03 18:27:50 +02:00
Jan Steemann 23f8f2f86b nullptr 2015-07-30 22:43:02 +02:00
Jan Steemann 6d4395059b use lock guards 2015-07-29 15:15:49 +02:00
Jan Steemann 326f0dba6e removed some unused code 2015-07-29 13:50:18 +02:00
Jan Steemann 454a6c998c Merge branch 'devel' of https://github.com/arangodb/arangodb into shaper-cxx 2015-07-28 17:38:48 +02:00
Jan Steemann 6d7ccd7699 move shaper to cxx 2015-07-28 17:38:31 +02:00
Michael Hackstein 412394ff3c Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-07-28 13:22:01 +02:00
Michael Hackstein 25f7b25206 Fixed failing failure-tests 2015-07-28 13:21:54 +02:00
Jan Steemann 3d3024a54e cppcheck 2015-07-28 09:51:24 +02:00
Jan Steemann 7e4b615248 simplify call to mmap 2015-07-27 16:24:25 +02:00
Frank Celler 33d702c190 ignore died process on delete 2015-07-24 09:30:26 +00: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
Max Neunhoeffer 68a5f3a131 Add one more comment. 2015-07-23 14:46:25 +02:00
Max Neunhoeffer 395e920825 Add a few more comments. 2015-07-23 14:44:58 +02:00
Max Neunhoeffer 350da2c910 Add a data guardian implementation (lock-free using hazard pointers). 2015-07-23 14:23:04 +02:00
Max Neunhoeffer c3c1c3242f Add TRI_DEFER. 2015-07-22 10:29:13 +02:00
Jan Steemann abf69329e2 casts for Windows 2015-07-21 18:57:56 +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 09736f965f more lock instrumentation 2015-07-21 13:09:02 +02:00
Jan Steemann 4d0872f2b9 more cxx 2015-07-20 18:42:02 +02:00
Jan Steemann a5db59cc47 remove some locks in HttpServer and friends 2015-07-17 17:48:45 +02:00
Jan Steemann c54b5a6ba8 renamed file 2015-07-16 21:06:29 +02:00
Jan Steemann 1428af9e49 remove useless header inclusions 2015-07-15 21:47:50 +02:00
Jan Steemann 6d4dbcbb47 add SpinLock and SpinLocker, unified other Lockers 2015-07-15 21:22:00 +02:00
Willi Goesgens 0f85dec259 Fix memleak with unique_ptr 2015-07-15 09:57:35 +02:00
Willi Goesgens a2b29d8864 work around error message about empty object when compiling in devel mode. 2015-07-14 17:04:11 +02:00
Jan Steemann af9c155c90 use references 2015-07-14 14:05:18 +02:00
Jan Steemann cc27e9b88f try to pacify some compilers 2015-07-14 08:50:29 +02:00
Jan Steemann 53400a44a7 simplifications 2015-07-13 22:56:41 +02:00
Michael Hackstein 32100ca6fd Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-07-13 14:50:03 +02:00
Michael Hackstein b54dae0d5b Fixed a memleak in newest shortest path shortcut implementation 2015-07-13 14:49:54 +02:00
Jan Steemann 14ccfbabc3 Merge branch 'aql-query-cache' of https://github.com/arangodb/arangodb into devel 2015-07-13 12:46:41 +02:00
Jan Steemann 5a453bbcfc issue #1409: Document values with null character truncated with 2.6.2 on Windows 2015-07-13 12:45:13 +02:00
Michael Hackstein df33ffe410 Added an implementation for shortest path which allows to take shortcuts iff we do not have to access the data, f.e. filtering or distances. Gives an enormous speedup. 2015-07-13 11:31:42 +02:00
Jan Steemann c71dc4d9bb Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache 2015-07-13 10:49:14 +02:00
Willi Goesgens bd7aa7c305 Remove the global include to iostream; this reduces the compile time by 10%
( http://herbsutter.com/2013/08/19/gotw-7a-solution-minimizing-compile-time-dependencies-part-1/  for inspiration)
2015-07-07 12:11:21 +02:00
Max Neunhoeffer c87575ce33 Fix bug in AssocMulti lookupByKeyContinue if batchSize==1. 2015-06-29 16:32:00 +02:00
Jan Steemann 8372c33993 fixed invalidation with index creation etc., adjusted tests 2015-06-25 23:40:31 +02:00
Willi Goesgens 641b6798a0 Fix grammer in docu 2015-06-24 17:42:39 +02:00
Jan Steemann 5e7dd0da7f Merge branch 'aql-argv-optimization' of https://github.com/arangodb/arangodb into devel 2015-06-18 17:12:14 +02:00
Jan Steemann 788f99980a Merge branch 'aql-parser-simplification' of https://github.com/arangodb/arangodb into devel 2015-06-17 15:15:40 +02:00
Jan Steemann 2a8192105a Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-argv-optimization 2015-06-17 12:41:38 +02:00
Jan Steemann 30ef155b16 issue #1313: escape whitespace in process name when scanning /proc/pid/stats
This fixes statistics values read from that file
2015-06-17 11:54:59 +02:00
Jan Steemann dec79dd051 pass function arguments by reference 2015-06-16 18:01:45 +02:00
Jan Steemann 7cd27d5c56 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification 2015-06-16 15:14:18 +02:00
Michael Hackstein 933e4c353a Added further OOM tests for ShortestPath computation 2015-06-16 11:27:21 +02:00