1
0
Fork 0
Commit Graph

1137 Commits

Author SHA1 Message Date
Jan 98d6eff37e
added assertions to make sure the generated ticks are as expected (#3969) 2017-12-13 10:19:00 +01:00
Simon Grätzer dce677720d Fixing an issue with intermediate commits (#3975) 2017-12-12 09:17:18 +01:00
Matthew Von-Maszewski a7b4599ff9 add defensive coding and logging in response to a divide by zero. ColumnFamilyData::RecalculateWriteStallConditions() called SetBytePerSecond() with some value less than four. Could have been a race condition due to our SetThrottle() called without db mutex. No proof, just likely. (#3949) 2017-12-08 15:42:44 +01:00
Jan eb0190066b
allow passing a serverId value of "none" to replication APIs (#3909) 2017-12-08 11:35:53 +01:00
Jan 282be208cc
remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
Jan 9f8c5488c2
fix Windows ifdefs (#3824) 2017-12-06 18:43:12 +01:00
Jan 73b3c65153
fix revision id vs local document id usage in incremental sync (#3887) 2017-12-06 16:33:57 +01:00
jsteemann 53c2349d7c fix compile warning 2017-12-06 14:41:15 +01:00
Simon Grätzer ec80ee39fd Fulltext Index Cursor (#3807) 2017-12-06 14:29:57 +01:00
jsteemann 9a5cd393e0 added missing guard 2017-12-06 12:15:47 +01:00
Jan 3b5b1e4eba
fix replication context locking (#3875) 2017-12-06 12:11:55 +01:00
Jan 4eab985e90 fix wrong ifdefs (#3803) 2017-11-27 14:20:04 +01:00
Matthew Von-Maszewski 50012d1ed8 Throttle adjustments for high speed arrays (#3755) 2017-11-22 12:03:55 +01:00
Simon Grätzer 0e485f7441 Fixing collection name collection handling in Syncer (#3710) 2017-11-17 16:36:57 +01:00
Jan b4f6ee9273 Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
Jan 4a199e2fe3 make truncate a bit less obstrusive (#3721) 2017-11-16 20:28:33 +01:00
Matthew Von-Maszewski 97944f012e Fix issues due to throttle started with too small a flush (#3707) 2017-11-16 09:13:08 +01:00
Jan 3b0a8a9cdf make the replication applier auto-start for the RocksDB engine if con… (#3647) 2017-11-15 12:02:37 +01:00
Max Neunhoeffer bc1891dfd0
Comment out RocksDBThrottle. 2017-11-14 16:53:42 +01:00
Jan cc1fc716a4 Bug fix/fix server mode test side effects (#3674) 2017-11-14 15:19:00 +01:00
Simon Grätzer c6fe726901 Removing unsafe asserts in wal tailing v3.3 (#3672) 2017-11-13 17:41:57 +01:00
Matthew Von-Maszewski bbce4caefa Feature/mv basho smoothing1 (#3384) 2017-11-13 15:43:44 +01:00
Jan 03daf9e9c9 make incremental sync replication API check if the client passed an "offset" request parameter (#3669)
if yes, the server may dynamically adapt the size of the response, in order to ensure that
HTTP responses do not get out of hand size-wise. This is a new feature in devel, and this
commit now makes it optional so that older clients do not need to be changed.
2017-11-13 15:08:31 +01:00
Jan Christoph Uhde daf98e145e improve rocksdb logging (#3613) 2017-11-11 19:35:27 +01:00
jsteemann 571d4587ca Revert "Return offending key for unique constraint violations (#3624)"
This reverts commit 68bd31ac99.
2017-11-10 16:40:56 +01:00
Dan Larkin 68bd31ac99 Return offending key for unique constraint violations (#3624) 2017-11-10 16:03:10 +01:00
Jan 733f27e997 Bug fix/fix compilation with gxx7 (#3637) 2017-11-10 16:00:57 +01:00
Jan bef52d7dc3
Bug fix/cleanup after cppcheck (#3639) 2017-11-10 13:53:28 +01:00
Simon Grätzer 87f441753b RocksDB WAL tailing fixes (#3595) 2017-11-10 09:31:53 +01:00
Jan 7613bc4314 Bug fix/fixes 0211 (#3568)
* remove some non-unused V8 persistents

* do not throw that many bogus assertions

* do not rely on server role being defined

* slightly better debug output for V8 context debugging

* fix collection ids in inventory response

* simplify bootstrap a bit

* slightly better error handling

* make elapsed time a queryable value

* use less memory for stub collections

* added assertions that will always make sense

* added assertions

* do not garbage-collect while waiting

* less copying of parameters

* do not show "load indexes into memory" buttons for mmfiles engine

  as all indexes are in memory anyway

* when a collection is truncated via the web interface, flush the WAL and rotate all active journals

this will make close all open journals on leader and followers and make them subject to compaction opportunities

* fix invalid server id values being passed from web interface to backend

* introduce afterTruncate method for indexes

* added test case for issue #3447

* updated CHANGELOG

* don't warn about replicationFactor for system collections

* check that the queries actually use the geo index and not some other index

* properly report error in web interface

* fix some internals checks that made truncate fail for bigger collections in maintainer mode

* also run a compact() operation after a serious truncate

in order to make iteration over the truncated range much faster
when the collection is next accessed

* increase default maximum number of V8 contexts to at least 16
2017-11-09 12:48:15 +01:00
Jan 0195ede1d8 potential fix for issue #3581: Unexpected "rocksdb unique constraint violated" with unique hash index (#3596) 2017-11-07 10:42:41 +01:00
Jan f6a90c4879 some cleanup (#3583) 2017-11-07 10:27:21 +01:00
Simon Grätzer ee8209943f Missing things for active / passive (#3578)
* Switching from ttl to supervision based failover mechanism

* Allowing canceling of ongoing actions

* refactored asyncjobmanager

* refactoring some code

* adding read-only flag

* catching some exceptions to reduce log pollution, removing unnecessary code, removing tests for _changeMode

* fixing "createsANewDatabaseWithAnInvalidUser"

* auth = off does not longer make everyone superuser

* Fixing cluster_sync and maybe resilience
2017-11-04 20:30:23 +01:00
Simon Grätzer 64e9377c05 Replacing /_api/collection with RestHandler (#3543) 2017-11-02 14:57:17 +01:00
Jan 4d03d3bd82
Bug fix/fixes 2410 (#3511)
* slightly clean up indexes

* proper stringification of error code

* improve diagnostic messages

* improve memory usage for incremental sync
2017-10-30 22:49:24 +01:00
Simon Grätzer 05d6a9a9f4 Reuse buffers for HttpResponse (#3433) 2017-10-30 17:30:36 +01:00
Simon Grätzer d14710b683 Updating Replication Factor (#3528)
* Changing replication factor in 3.2 (#3513)

* Allow changing replicationFactor on coordinator

* Fixing logic

* Allowing change of replication factor

* Additional input validation

* grrr

* Testing invalid inputs

(cherry picked from commit 47600e1ea1)

* jslint

(cherry picked from commit 4d223597db)

* cherry-pick commits from 3.2: 47600e1ea1 4d223597db d684eaa7f8 a898af3723
2017-10-26 15:28:05 +02:00
Jan 9eb5e1545f Bug fix/fix cluster foxx queue startup (#3507)
* slightly clean up indexes

* proper stringification of error code

* do not run AQL queries during Foxx queue startup

* always create keyspace
2017-10-25 18:07:27 +02:00
Jan bb5b7a67a9 fix undefined behavior in RocksDB geo index (#3479) 2017-10-25 18:04:26 +02:00
Simon Grätzer 09840239c9 Fixed wait for sync in mmfiles (#3478) 2017-10-23 12:36:50 +02:00
Jan 720e6df82e Bug fix/fixes 1910 (#3471)
* properly initialize all properties

* use faster comparison

* properly detect and handle "method not allowed"

* code-style

* remove unused variable

* narrow variable scope

* handle non-existance of AuthenticationFeature

* remove dead code

* replace some C string handling with std::strings

* moved assertion to the correct place

* honor number of array members for IN operator

* slightly adjust error messages

* slighty adjust some error messages

* try to fix issue with lingering replication contexts on shutdown

* clean up heartbeat thread a little bit

* small fixes
2017-10-23 09:17:36 +02:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Jan 2fee652e77 Bug fix/fixes 1610 (#3425)
* remove memory zone remainders

* remove useless calls

* attempt to fix non-deterministic CRC test

* attempt to fix non-deterministic replication tests

* fix document removal with multiple documents in cluster

* attempt to fix non-determinism of tests

* fix privilege checks for accessing collections by collection id, not by name
2017-10-18 12:23:39 +02:00
Frank Celler 4846104bf2 fixed LocalDocumentId (is now a class) 2017-10-03 22:18:07 +02:00
Jan 0561bf45ce Bug fix/isrestore (#3283)
* Make isRestore work in the cluster.

This covers sharded collections with default sharding and non-default
sharding.

* always use locally generate revision ids for storing and looking up documents
2017-10-03 11:53:49 +02:00
Jan 4ba38bf981 try to work around some assertions (#3296)
* remove obsolete values from relative config

* warn about using obsolete config parameters
2017-09-28 09:21:33 +02:00
Jan 2525a3a1bd Feature/mmfiles hash lookup performance (#3265)
* speed up full collection scans in mmfiles engine

* some API cleanup
2017-09-26 14:48:06 +02:00
Jan b4e5132572 fix dropping of system collections and retrieving list of user databa… (#3304)
* fix dropping of system collections and retrieving list of user databases in cluster

* fix MSVC compile warnings
2017-09-21 10:05:46 +02:00
Jan 5165155ed1 Bug fix/fixes 0609 (#3227)
* do not use V8 variant of AQL functions in early optimization stage when a C++ variant is available

* additionally, simplify AQL function definitions and aliases

* warn when more than 90% of max mappings are in use

* added C++ variant of replication catchup

* added `--log.role` option

* updated CHANGELOG

* removed non-existing scheduler.threads option from config

* removed useless __FILE__, __LINE__ invocations

* updated CHANGELOG

* allow a priority V8 context

* remove TRI_CORE_MEM_ZONE

* try to fix Windows errors & warnings

* cleanup

* removed memory zones altogether

* exclude system collections from collection tests
2017-09-13 16:28:21 +02:00
Simon Grätzer ffc465433a No access collections Improvements (#3190)
* consolidated EdgeDocumentToken

* optimizing cluster traversal

* adding skip collection checks

* API cleanup

* copying AQLValue to avoid use-after-free bugs

* Fixing rocksdb SingleServerEdgeCursor

* Fixing a collection resolving issue
2017-09-07 14:55:07 +02:00
Max Neunhöffer 98e6484d86 Fix bug in RocksDB incremental collection sync for empty colls. (#3207)
Also: Make hash computations for chunks independent.
2017-09-06 15:26:03 +02:00
Wilfried Goesgens a551879158 give usefull errors in case of rocksdb init aborting with 'IOError' w… (#3178)
* give usefull errors in case of rocksdb init aborting with 'IOError' which happens i.e. on cifs mounts

* fix typo
2017-09-04 18:02:38 +02:00
Michael Hackstein da4d7966a8 Bug fix/truncate geo (#3173)
* Add geo truncate test

* added a specific truncate method to rocksdb geo index

* Fixing truncate on rocksdb geo-indexes with support for rollbacks
2017-09-04 17:48:04 +02:00
Jan cd2dfdfd0d fix deadlocks in cluster traversals (#3198) 2017-09-04 17:35:24 +02:00
Jan 523d99b236 Bug fix/fixes 0109 (#3191)
* fix double free

* simplfy conditions

* fix cppcheck complaint
2017-09-04 17:32:25 +02:00
Max Neunhöffer 76dbc2ead8 Add tick to batch result. (#3195) 2017-09-04 15:27:39 +02:00
Dan Larkin a775e37c76 Feature/unique vpack index lookup performance improvements with rocksdbkey optimizations (#3123)
* fixed issue #3075

* update the known issues document, as some issues have already been fixed

* speed up equality lookups in unique vpack indexes

* Allow for re-use of RocksDBKey objects through transaction leaser.

* Converted all RocksDBKey variants to non-static constructors.
2017-08-31 20:00:05 +02:00
Simon Grätzer 88d01b89b5 Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00
jsteemann 86db523e02 fix compile warning in non-maintainer mode 2017-08-30 15:14:16 +02:00
Jan c29a2745d2 Bug fix/fixes 2808 (#3156)
* fixed jslint warnings

* fix undefined behavior

* move check into if, so check tools do not complain
2017-08-28 15:16:41 +02:00
Dan Larkin 18e8c19271 Improvements to CachedValue internals and handling. (#3126)
* Added checks everywhere for CachedValue::construct.

* Enforce 16MiB limit on keys and 4GiB limit on values.

* Protected members behind function calls in anticipation of format change.

* Shrunk CachedValue struct.

* Fixed alignment of CachedValues.

* Fixed improper comparison.
2017-08-28 15:07:16 +02:00
Simon Grätzer f3eb0c2ac0 No access collections (#3088)
* Added virtual attributes for enterprise on Methods.cpp

* Working no access collections

* align a comment

* Documentation and test fix

* fixing community build
2017-08-25 13:59:03 +02:00
Frank Celler 6d08d4f4aa Bug fix/scheduler delete (#3077)
* removed delete call

* cleanup

* lower cpu activity of log thread too

* fix log messages

* do not enter threads into unordered_set, as it is unneeded

* do not compile in calls to disabled plan cache

* moved AQL regex cache from thread local variables to a class of its own

* more sensible thread creation and destruction
2017-08-25 12:00:17 +02:00
Jan a212f45a86 Bug fix/issues 2308 (#3117)
* remove API docs for endpoints that were deleted in 3.0

* remove unused variable

* set all scalar values in the ctor, so check tools do not complain

* move Result objects

* prevent potential nullptr access

* remove ambiguous boolean parameter with no clear meaning

* make code check tools happy

* don't allow copying cache Findings, allow moving Results

* the debug functionality for counting RocksDB key ranges was broken

this produced sporadic test failures

* remove superfluous iostream include

* fix range checks

* don't leak if an error happens during database removal

* try to simplify Result a bit

* try to deletion checks a bit more robust
2017-08-24 14:47:22 +02:00
Jan 3350164ec6 a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +02:00
Jan 5c5b5e548d Feature/unique vpack index lookup performance improvements (#3087)
* fixed issue #3075

* update the known issues document, as some issues have already been fixed

* speed up equality lookups in unique vpack indexes

* fixed wording
2017-08-24 14:39:09 +02:00
Dan Larkin e373d343c8 Further checks/fixes for RocksDB recovery process (#3110)
* Fixed issue with periodic syncing and WAL file retention.

* Fixed sequence number tracking properly this time.

* Fixed a few small issues.
2017-08-23 11:07:10 +02:00
Jan 39465193c2 fix replication (#3099) 2017-08-22 15:51:50 +02:00
Dan Larkin 84f11c223d Fixed issue with periodic syncing and WAL file retention. (#3098) 2017-08-22 15:51:12 +02:00
Jan Christoph Uhde df76bbc690 Bug fix/planning issue 514 replication api (#3021)
* add "cluster selectivity estimates" to CHANGELOG

* add some documentation to RocksDBRestReplicationHandler

* fix building with relative paths

* add some more doc

* add some tests for the replication api

* fix RocksDBRestReplicationHandler and add tests

* update documentation

* remove obsolete parameter

* fix error message

* Implementing logger-first-tick, logger-tick-ranges. Fixing dump `chunkSize` documentation
2017-08-22 10:46:06 +02:00
Dan Larkin 5708fc8fab Added test to ensure RocksDB recovers keygen data outside WAL. (#3072) 2017-08-22 10:42:46 +02:00
Dan Larkin 2294fbc290 Fixed issue with autoincrement data not being persisted properly in RocksDB (#3059). (#3067) 2017-08-17 21:53:55 +02:00
Jan 8e65fbb539 Bug fix/issues 1708 (#3060)
* we must now ignore that datafiles are not sealed

this is because an unsealed datafile may have been produced by
renaming multiple journals to datafiles at server start

* acquire collection count after we have acquired the lock

* count the null byte as well

* fix count value acquisition

* send query fragments to the correct servers, even after failover or when a follower drops

the problem with using the previous shard-based approach is that responsibilities for shards may change at runtime
however, an AQL query must send all requests for the query to the initially used servers.
if there is a failover while the query is executing, we must still send all following requests to the same servers, and not the newly responsible servers
otherwise we potentially would try to get data from a query from server B while the query was only
instanciated on server A.
2017-08-17 21:48:27 +02:00
Jan 4f11bb2a03 reduce log spam (#3051) 2017-08-17 21:24:45 +02:00
Simon Grätzer 93aa6011c3 Feature/warmup speed (#2971) 2017-08-15 23:05:20 +02:00
Jan 79d76c89fb Bug fix/use count for checksum (#3033)
* Count as checksum

* Make readLockId optional as well so upgrades are possible

* fix option name in startup script

* fix some replication issues with RocksDB engine
2017-08-15 11:24:54 +02:00
Jan 8e4dac4fc4 fix fulltext index removal performance, simplified code (#3015)
* simplify index API a bit

* fix fulltext index removal performance, simplified code

* updated CHANGELOG

* fix hanging test

* try to fix shutdown problem

* improve fulltext query performance

* fixed duplicate var

* removed obsolete code

* fix some shutdown races

* do not call ensureIndex that often
2017-08-12 09:25:30 +02:00
Jan 40cbc5ebab Bug fix/fix issue 3011 (#3012) 2017-08-09 17:38:44 +02:00
Michael Hackstein 7ab117f5f8 Bug fix/dump restore auth (#2917)
* Added a backup test suite. This suite is supposed to entirely drop an ArangoDB _system and restore it into a fresh one. This also includes system collections.

* Added more test cases for backup suite. Now tests several authorization/rights cenarios

* Fixed RestReplication Handlers to restore _user collections Properly.

* Updated Changelog

* Added special handling of _users in Restore for MMFiles as well.

* Added JWT secret for cluster execution of this test, also added JWT secret to shutdown call
2017-08-09 12:59:51 +02:00
Jan ec5dde49ec remove memset parameter from TRI_Allocate signature (#2993) 2017-08-08 16:07:32 +02:00
Jan 9088257af3 specialize IndexIterator::skip for primary indexes (#2952)
this provides a speedup of about 10% for LIMIT offset, limit operations
2017-08-06 14:12:17 +02:00
Simon Grätzer 4cc8686e82 RocksDB: Optimizing dropCollection / dropIndex / fillIndex (#2927)
* cleaning up several duplicate versions of Index::memory, Index::cleanup, Index::drop, integrating branch issue-383-ensure-delete

* fixing wrong column family
2017-08-05 21:09:41 +02:00
Jan da6e63c696 fixed issue #2949 (#2951) 2017-08-04 13:36:37 +02:00
Jan 40c5b94d68 Bug fix/nightly fixes (#2946)
* fix internal documentation (thanks @Simran-B)

* fixed issue #2810

* potential fix for issue #2939

* updated CHANGELOG

* updated CHANGELOG
2017-08-04 13:34:12 +02:00
Jan 60e6237149 do not throw OOM errors in case something else has happened (#2938) 2017-08-03 22:48:12 +02:00
Jan a10832d41e do not allow the creation of volatile collections in the RocksDB stor… (#2900)
* do not allow the creation of volatile collections in the RocksDB storage engine

* only create a volatile collection for mmfiles in test

* fix tests
2017-08-03 22:45:17 +02:00
Jan 4da33dea6c fixed some issues detected by coverity scan (#2915) 2017-08-02 09:36:08 +02:00
Jan 4f5d5ff54d slightly move responsibility for recovery (#2922) 2017-08-01 14:25:13 +02:00
Jan Christoph Uhde ed8efe3566 Feature/issue 387 cluster index estimates (#2866) 2017-08-01 09:53:58 +02:00
Jan 87567c3c2a fixed issue #2876 (#2896) 2017-07-30 14:24:25 +02:00
Jan 6820ec3891 fixed issue #2868: cname missing from logger-follow results in rocksdb (#2901) 2017-07-28 18:52:30 +02:00
m0ppers 9a0bc716d0 Do not allow replication to create/drop collections (#2898)
In the cluster case the only one who is allowed to do this is the schmutz
2017-07-28 14:24:02 +02:00
Jan 634574ed9f don't mask errors with fake OOM messages (#2872) 2017-07-28 12:08:37 +02:00
m0ppers 589ffd5c59 Feature/improve logging (#2881)
* Improve logging in various places

* Fix jslint
2017-07-28 09:23:18 +02:00
m0ppers 6fefe5ab31 In high concurrency situations double checking checksums is a must have (#2890) 2017-07-28 00:43:21 +02:00
Simon Grätzer 59dc8d0135 Update rocksdb options (#2880)
* changing some defaults

* Maybe fixing performance

* Modified changelog

* Updated documentation to reflect options
2017-07-27 16:05:31 +02:00
Jan 0771a69138 remove only partly used AQL function argument types definitions (#2873) 2017-07-26 13:03:30 +02:00
Frank Celler a692577f5b Feature/auth context (#2815) 2017-07-16 09:39:03 +02:00
Frank Celler a5a25754ed Feature/reduce extraction to projection (#2792)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule

* cppcheck

* try to fix compile error on MacOS

* bug fix for MacOSX

* missing namespace (in Windows compile)
2017-07-14 08:40:29 +02:00
Jan 722870b70c fix access to cache object if cache is turned off (#2782) 2017-07-12 22:11:50 +02:00
Frank Celler 40d73d5a8b Revert "[WIP] Feature/reduce extraction to projection (#2735)"
This reverts commit 5bfcff30cd.
2017-07-12 12:52:14 +02:00
Jan 5bfcff30cd [WIP] Feature/reduce extraction to projection (#2735)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule
2017-07-12 11:22:29 +02:00
Jan bee32b6325 properly compact ranges so data actually gets deleted after drop etc. (#2771) 2017-07-11 21:47:16 +02:00
Jan e823f86601 fix small issues found by cov-build (#2746) 2017-07-07 12:36:11 +02:00
Simon Grätzer d8c57f2cc8 Feature/rocksdb hashsearch (#2713)
* Testing hash for documents

* fixing logspam error

* added base support for kHash in the edge index

* Current version of hash enabled edge index

* removed rocksdb key type byte, dynamic prefixes for hash-index

* Fixing issues with key classes

* Fixing merge conflict

* Fixing version with semi-working hash index

* fixing various issues

* Fixing hanger in EdgeIndexIterator nextExta, when _cache is disabled. Reenable cache

* Fixing geo index bounds, and fillIndexes error handling

* Adding back failure point

* Fixing RocksDBKey::vertexId

* Added version check on startup

* Fixing version check

* added one more check

* properly detect column families at startup

* Adding additional sanity checking

* Adding missing column family

* some fixes

* Turned off geoindex sync

* fixed error

* added asserts (untested)

* Adding more asserts
2017-07-05 10:18:52 +02:00
Jan 61a80ed697 fix typo (#2718) 2017-07-03 18:40:59 +02:00
Jan ccbe1ba792 Bug fix/fix rocksdb options (#2702)
* cleanup rocksdb options
2017-07-02 23:13:42 +02:00
Jan a5afdf9437 Bug fix/small issues (#2696)
* remove unused code

* print values of all options

* don't print "warning(s):" if there are none

* remove remainders of old file deletion functionality

* remove unused function
2017-07-01 00:30:45 +02:00
Dan Larkin 05c8d3ae71 Converted Get calls to use PinnableSlice where possible. (#2683) 2017-07-01 00:27:27 +02:00
Jan c7c8910c7c make use of selectivity estimates in hash, skiplist and persistent indexes (#2703) 2017-06-30 18:11:58 +02:00
Jan 94b4a9ec4b added "deduplicate" attribute for array indexes (#2644) 2017-06-30 17:53:50 +02:00
Michael Hackstein b73c0dfda4 Merge pull request #2670 from arangodb/feature/issue-277-nextExtra
Feature/issue 277 next extra
2017-06-29 17:24:55 +02:00
Dan Larkin ee8cb749bb Added recovery tests for views and fixed a few related bugs. (#2682)
* Added recovery tests for views and fixed a few related bugs.

* Added more view recovery tests.

* Modified view recovery tests to add a waitForSync operation after.

* fixed usage of wrong view type

* fixed recovery of view change markers
2017-06-29 17:09:43 +02:00
Jan Christoph Uhde 903bbbaf9a add missing try loop to nextExtra 2017-06-28 13:45:17 +02:00
Jan 6db52fe25f fix compile warnings once again (#2673) 2017-06-26 20:23:15 +02:00
Frank Celler 2807ef559c Feature/move shard fix (#2626)
Major overhaul of handling of synchronous replication.
2017-06-26 16:55:01 +02:00
Jan 017219ace6 fix issues reported by cppcheck (#2660) 2017-06-26 16:31:34 +02:00
Jan dd59eee715 fix a crash in the counter manager (#2665) 2017-06-26 16:28:53 +02:00
Jan cfbd8ed93c Bug fix/rocksdb autoincrement (#2648)
* Added autoincrement keygen support to RocksDB engine with test.

* fixed key generator state keeping for mmfiles engine
2017-06-23 15:27:09 +02:00
Michael Hackstein 2c90b36bb1 The ArangoDB VPackIndex now does not attempt to compute an Estimate on Coordinator. Caused the coordinator to crash (#2629) 2017-06-22 12:37:12 +02:00
Jan cb8014dbdd use correct column families for size estimates (#2624) 2017-06-22 12:32:08 +02:00
Jan ebaeb639b2 Bug fix/incremental replication syncs too much (#2631)
* fix too much synchronization
* fix incremental sync for RocksDB engine
2017-06-21 14:56:33 +02:00
Frank Celler ce8b1fb885 Feature/rocksdb update 5.6 (#2621) 2017-06-20 18:12:43 +02:00
Dan Larkin a3ae2b7191 Augmented cache API and fixed a potential deadlock scenario. (#2579)
* Augmented cache API and fixed a potential deadlock scenario.

* The RocksDBEdgeIndex now tries to read up to 10 times form the cache on lock_timeout. Instead of rewriting everything after first attempt
2017-06-19 17:28:04 +02:00
Dan Larkin a0c4e3d9df Improved RocksDB engine statistics with docs and rest endpoint (#2598)
* Improved statistics reporting for RocksDB engine (including cache info).

* Added documentation about db._engineStats().

* Added rest endpoint for engine stats.
2017-06-18 22:55:25 +02:00
Jan 329cb53952 enable RVO (#2566) 2017-06-16 09:42:10 +02:00
Jan c176a11930 control RocksDB block cache filling for the primary and edge indexes (#2532) 2017-06-09 08:32:46 +02:00
Michael Hackstein 2e1d7b0fe1 RocksDB drop collection now does intermedieate writes of batches.
Furthermore fixed an issue with Column Family usage in drop.

commit 708cd81362b56213dd4d7a69b1e4eea120de0db4
Merge: b8896ea 924ef44
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 8 14:47:56 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/drop-collection-batches

commit b8896ea5479d56f3e6d55d6094ec2658b058dc04
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 8 14:47:37 2017 +0200

    Fixed drop collection in rocksdb for all entries that are not compacted in a complete file. it was using the wrong column family.

commit 59f6a9d51b1c12d665eba683d3b09f1b01ce77fc
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 8 13:00:18 2017 +0200

    Remove large range now uses ColumnFamily comparator instead of default one. Also it writes batches of 1000 documents to RocksDB instead of full deletion at once.
2017-06-08 14:48:33 +02:00
jsteemann 0c0a956a62 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-06-08 13:41:11 +02:00
jsteemann f40a6b622f removed unused includes 2017-06-08 13:37:30 +02:00
Jan 5ad9423f16 unify index struct return values in cluster and non-cluster for fulltext and geo indexes (#2534) 2017-06-08 13:35:00 +02:00
Michael Hackstein f21962dd03 Merged in Column Family for Views
Squashed commit of the following:

commit 860ddfc7a74866919ce5139ac3d874f09501ec97
Merge: d9ec0e3 bf20939
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 8 12:45:14 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/views-column-family

commit d9ec0e3c88122c6b9ee8acdbc6e69ca6af62e19f
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 8 12:44:43 2017 +0200

    Added a column family for views. It is no yet used anywhere. Just preparation.
2017-06-08 12:46:01 +02:00
Michael Hackstein f7e40a14ca RocksDBBounds now give info about their columnFamily. Adapted convenience methods that used those bounds to use correct column family now 2017-06-08 11:47:02 +02:00
jsteemann 427fc35f35 fix MSVC compile warnings 2017-06-08 10:48:39 +02:00
Ewout Prangsma 4d6fa5bb87 Import RocksDB encryption support (#2491)
* Import RocksDB encryption support

* Adding enterprise hooks

* Allocate scratch space in BlockCipher, used for all subsequent calls to EncryptBlock

* Adding more enterprise hooks

* Added encryption test script

* Added (commented) entry for encryption-keyfile

* Use correct env

* Updated ARANGODB value

* Log startup at debug level

* Removed TTY flag

* Fixed build

* Added prefix block support with unique initial counter & IV for CTR implementation
2017-06-08 08:51:02 +02:00
Simon Grätzer 8dcf045a7b Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-06-07 15:47:18 +02:00
Simon Grätzer 5fc966e267 fixing warmup mode 2017-06-07 15:47:08 +02:00
Jan Christoph Uhde 2f2d1bc217 add assert to geo index implementation 2017-06-07 14:45:27 +02:00
Simon Grätzer 1cd469c613 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-06-07 14:08:23 +02:00
jsteemann 2d96b9ab4c fix issues found by coverity scan tool 2017-06-07 13:22:18 +02:00
Simon Grätzer 082426df53 removing unused code 2017-06-07 13:03:31 +02:00
Michael Hackstein 7aa2a9d4c7 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-06-07 09:27:49 +02:00
Michael Hackstein 0a98ff9b16 EdgeIndexCache now stores unindexed VPack Arrays. Saves some memory without loosing performance. 2017-06-07 09:27:44 +02:00
Dan Larkin 8c7ba2aaa3 Changed several index/collection APIs to provide better context messages.
Addresses Issue #342.
2017-06-06 12:27:08 -04:00
Michael Hackstein ec6452733e Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-06-06 16:51:36 +02:00
Dan Larkin c48eb92c1e Added some more pass-through options for RocksDB and optimized a couple defaults. 2017-06-06 10:51:01 -04:00
Michael Hackstein 6ac0c0e673 Removed dead code 2017-06-06 13:13:50 +02:00
jsteemann 6b05b39825 expose currently used block cache size 2017-06-06 11:19:11 +02:00
Simon Grätzer 634254b80f adding load and unload 2017-06-02 14:44:38 +02:00
Simon Grätzer 10f6242932 removing dead code 2017-06-02 12:22:39 +02:00
Simon Grätzer 87de810566 Edge index refactoring 2017-06-02 11:20:15 +02:00
Simon Grätzer 3e8c16d1a7 Adding edge key into edge index 2017-06-01 16:07:39 +02:00
jsteemann a68c95d2b7 try to honor server shutdown while locks are held 2017-06-01 02:24:00 +02:00
jsteemann b91eab0ce8 honor transaction options 2017-06-01 02:01:33 +02:00
jsteemann b285112105 fix linker errors 2017-06-01 01:24:29 +02:00
Simon Grätzer 2ccea54404 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/alliterator 2017-05-31 18:13:00 +02:00
Simon Grätzer 66f10870dd Renaming files 2017-05-31 18:12:47 +02:00
Simon Grätzer 72661d85c3 fixed incremental replication 2017-05-31 18:08:05 +02:00
Michael Hackstein 52406567cd Replaced EdgeCursors callback to return cid,rev instead of _id. Does less costly copying and comparision internally 2017-05-31 17:49:46 +02:00
Simon Grätzer 36d440767b Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/alliterator 2017-05-31 16:38:55 +02:00
Simon Grätzer 469e57773e workaround for replication 2017-05-31 16:37:58 +02:00
jsteemann 8b74913c56 remove debug message 2017-05-31 15:27:35 +02:00
Simon Grätzer 87ee7a45fe Adding error checks 2017-05-31 15:10:17 +02:00
Simon Grätzer 58c8da1acf fixing replication 2017-05-31 14:39:40 +02:00
jsteemann 2457d66c92 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-31 14:16:14 +02:00
jsteemann eec81e730b fixed MSVC warning 2017-05-31 14:16:04 +02:00
Simon Grätzer ddc032ec14 removing readahead size 2017-05-31 12:26:51 +02:00
Simon Grätzer 879829e881 Merge branches 'devel' and 'feature/alliterator' of https://github.com/arangodb/arangodb into feature/alliterator 2017-05-31 11:42:20 +02:00
Simon Grätzer 53ece582a8 optimized all index iterator 2017-05-31 11:34:32 +02:00
Jan Christoph Uhde e0f608f219 check endianess when storing ints 2017-05-31 10:52:32 +02:00
Frank Celler f45325fe3f comment out new options. Needs further investigation into performance impact 2017-05-31 09:15:45 +02:00
Simon Grätzer 5509776503 Fixing various issues 2017-05-30 13:44:26 +02:00
Simon Grätzer 6ecf733585 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/storage-format-refactoring
# Conflicts:
#	tests/RocksDBEngine/TypeConversionTest.cpp
2017-05-30 13:42:44 +02:00
jsteemann 3886aece76 updated manual 2017-05-30 13:09:06 +02:00
Simon Grätzer d0eafe420a fixed vertexId getter 2017-05-30 12:46:18 +02:00
jsteemann 63d035761e Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-30 12:04:30 +02:00
jsteemann 53b150b206 added tests for intermediate commits 2017-05-30 12:03:58 +02:00
Simon Grätzer 09e0545cbd Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/storage-format-refactoring 2017-05-30 11:31:15 +02:00
Simon Grätzer ab292b2717 Fixing edge bounds 2017-05-30 11:30:48 +02:00
Jan Christoph Uhde 64c0b03a99 Add missing changes to geo index 2017-05-30 11:08:44 +02:00
Simon Grätzer 12d1b2d318 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/storage-format-refactoring 2017-05-30 10:12:47 +02:00
Simon Grätzer 3ad939ea41 changed storage format 2017-05-30 10:12:39 +02:00
Jan Christoph Uhde c4e7ae54da Prepare geodata to be more platform independent 2017-05-30 09:22:45 +02:00
Simon Grätzer f20a0a8c3d Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/storage-format-refactoring 2017-05-29 16:01:06 +02:00
Simon Grätzer f8ab86e160 Begin storage format refactoring 2017-05-29 16:00:55 +02:00
jsteemann c7e1877fd6 workaround for compile issue 2017-05-29 13:02:22 +02:00
Frank Celler 4b61f5b8bb added --rocksdb.num-uncompressed-levels 2017-05-29 11:56:48 +02:00
jsteemann 76f2ce5b2c nicer error message on startup when RocksDB data version does not fit 2017-05-29 11:36:05 +02:00
jsteemann caad48df33 issue #2505 2017-05-29 10:19:45 +02:00
Michael Hackstein b9d2faa7cc Added warmup function for indexes.
Squashed commit of the following:

commit bc0472d212b2efef0d7b1b8a36f2b43e8432ba86
Merge: eb47631 5f87674
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 29 09:39:31 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/rocks-index-warmup

commit eb476310b0ca6165be10b37b960933886c2757f5
Merge: d725f21 32149d2
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 29 09:00:41 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/rocks-index-warmup

commit d725f21f7d61f7c79ba31fc0338881e35f4d8f48
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 15:53:23 2017 +0200

    Activated collection warmup in Cluster Mode. Added a test for collection warmup (SingleServerOnly)

commit 132bf4f9565b0dcf4ec9f84e93897b482a67ce7f
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 12:46:20 2017 +0200

    Implemented client-side warmup. It can now be triggered via http and arangosh

commit 78ea449dff86118814a2f87bdb59dc16544d92b6
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:25:40 2017 +0200

    Fixed assertion.

commit dae80f6277dde1a52eadda506858cc36e235bd55
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:08:46 2017 +0200

    Improved the CuckooIndexEstimator computeEstimate function. It is now much better on collections with many different values

commit 7abf57876511ba369d7a577e1995d4575e98c7c8
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:06:43 2017 +0200

    Edge index warmup will now first check if a document is stored and if not will insert it. Furthermore it resizes the cache with an estimate of how many documents will be most likely inserted

commit 890d8ad4cdfd155249f060fedd5c798b9531d556
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:04:47 2017 +0200

    Adjusted thresholds in transactional cache. Wastly increased the amount of tries to get the lock. Lowered the fill-grade boundaries

commit 60972ab7151a3acb78e1aae4149de11d0da7aceb
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 10:45:38 2017 +0200

    Added new Logtpopic CACHE that should be used to log important information regarding caches, like debug ouput on evictions / resizing, or memory-pressure resizing going on

commit 2dfacb9aef6e3fde169032514baca386786d059c
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 10:44:21 2017 +0200

    Fixed an assertion in index iterator. It expected _from/_to to be cached but we modified to cache entire document

commit f05beccef65853c30eda1859a39c28ea2295bc71
Merge: 13c6abf 5c46430
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 07:56:58 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/rocks-index-warmup

commit 13c6abfbc2ddb451a689011110411df68247435e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 24 09:52:01 2017 +0200

    Added a getExtra feature for the edgeIndex. It now returns the complete edge as extra (temporary). Modified the EdgeCache to cache token and edge document (temporary). Added a warmup Function to collections that is used to warmup the index caches on demand.
2017-05-29 09:40:58 +02:00
Frank Celler b7961ef3dd Reenabled snappy (#2504)
* fixed snappy config

* added numactl and GLIBCXX_FORCE_NEW

* enabled snappy

* fix snappy include path

* windows paths
2017-05-26 20:53:23 +02:00
Simon Grätzer 32149d2738 applied clang format 2017-05-26 14:50:01 +02:00
Simon Grätzer 21dd147ad6 Fixing issues 2017-05-26 14:03:12 +02:00
Simon Grätzer 92c7bf8dd6 fixing wrong counter manager 2017-05-26 13:35:31 +02:00
Simon Grätzer d5f85d5bbb Adding more colum families 2017-05-26 10:43:17 +02:00
Simon Grätzer 555a7fcecd Merge branch 'devel' of https://github.com/arangodb/arangodb into column-family 2017-05-24 19:04:20 +02:00
Simon Grätzer 36503af230 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/RocksDBEngine/RocksDBReplicationTailing.cpp
2017-05-24 18:38:34 +02:00
Simon Grätzer 2f2d07ab9a Multihreaded import 2017-05-24 18:37:45 +02:00
jsteemann 1e0bfe78cb fix assertion 2017-05-24 16:57:21 +02:00
jsteemann 69c7f962b0 reset state variable 2017-05-24 16:49:44 +02:00