1
0
Fork 0
Commit Graph

475 Commits

Author SHA1 Message Date
Jan 7d05dac4fd
fix nullptr access (#4142)
* fix nullptr access

* fixed compile error
2017-12-22 10:58:46 +01:00
Jan 2a96df5ca5
Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
Matthew Von-Maszewski e6f7282e03 Make chooseTimeout() dynamic (#3996)
* add parameter to increase timeouts per 4096 size of total request package

* remove log output

* change initial timeout math from integer to double ... avoids reviewer confusion.
2017-12-15 18:25:18 +01:00
Simon Grätzer 19f68df395 Use uuid in Initial sync to ensure proper collection mapping (#3965)
* Use uuid in initalsync to ensure proper collection mapping

* fix compile error after merge
2017-12-13 22:12:47 +01:00
Jan 9c76613e63
fix premature unlock (#3802)
* fix some deadlocks found by evil lock manager (tm)

* fix duplicate lock

* fix indentation

* ensure proper lock dependencies

* fix lock acquisition

* removed useless comment

* do not lock twice

* create either a V8 transaction context or a standalone transaction context, depending on if we are called from within V8 or not

* AQL micro optimizations

* use explicit constructor

* only use V8DealerFeature's ConditionLocker for acquiring a free V8 context

entering and exiting the selected context is then done later on without having to hold the ConditionLocker

* remove some recursive locks

* Disable custom deadlock detection when Thread Sanitizer is enabled

* Changing ifdef's

* grr

* broke gcc

* Using atomic for ApplicationServer::_server

* fix premature unlock

* add some asserts

* honor collection locking in cluster

* yet one more lock fix

* removed assertion

* some more bugfixes

* Fixing assert

(cherry picked from commit 1155df173bfb67303077fbe04ee8d909517bfd21)
2017-12-13 13:27:42 +01:00
Simon Grätzer 739af2d1f5 Fixing some accidentally broken fulltext tests (#3951)
* Fixing some accidentally broken tests

* Fixing test...again
2017-12-13 10:19:17 +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
Simon Grätzer ec80ee39fd Fulltext Index Cursor (#3807) 2017-12-06 14:29:57 +01:00
Jan f3e4e84778
add a test for replication applier restarts (#3750) 2017-12-06 11:09:36 +01:00
Jan bd1a2d6cce fix shutdown deadlock (#3796) 2017-11-24 11:42:09 +01:00
Jan 86ef7d4018 Bug fix/fixes 1711 obi (#3730) 2017-11-17 16:34:33 +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
Jan 15ad2fbd99 do not complain about missing datafile statistics (#3688) 2017-11-14 16:42:31 +01:00
Simon Grätzer c6fe726901 Removing unsafe asserts in wal tailing v3.3 (#3672) 2017-11-13 17:41:57 +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
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 6b90029c92 remove misleading and not used geo index type enum values (#3626) 2017-11-09 09:12:44 +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
Jan 3f1f2c3e81 potential fix for issue #3517: several "filesystem full" errors in log… (#3525) 2017-10-30 17:28:59 +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
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
m0ppers bb1d303473 Cmake 5.0 complains about unused lambda captures (#3390) 2017-10-13 12:20:48 +02:00
jsteemann 066e91e1ed fix compile error in non-maintainer mode 2017-10-10 10:46:36 +02:00
Jan dd32992121 fix potential overflow in CRC marker check when a corrupted CRC marke… (#3386)
* fix potential overflow in CRC marker check when a corrupted CRC marker is found at the very beginning of an MMFiles datafile

* added recovery test for marker corruption
2017-10-10 09:49:13 +02:00
Frank Celler f9cc8543a3 macos/clang does not like constexpr 2017-10-03 22:58:13 +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 56fab56ff5 Bug fix/issues 2709 (#3333)
* logging improvements

* fixed copy&paste error

* enable assertions in non-release mode

* updated CHANGELOG

* fix --temp.path (was dysfunctional), fix creation of temporary directories and races
2017-10-01 09:43:03 +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 dba4b90754 cleanup a few cases of fatal errors (#3274)
* cleanup a few cases of fatal errors

* fix multiple compile errors (my bad)

* fixed missing brace
2017-09-19 21:58:21 +02:00
Wilfried Goesgens 0faf9be695 Feature/compaction configuration (#3217)
* make the different values influencing the compaction run configurable

* Compaction statistics handling

 - we mustn't keep the number of dead objects on the compacted datafiles statistics, else it will be compacted again.
 - keep statistics of the compaction runs on the DatafileStatistics object
 - add the new statistics on DatafileStatistics to the figures api
 - implement test that assures only one compaction is run, and the statistic values are maintained

* don't mention the version number

* Implement review

 - fix documentation
 - allow 0 maxfiles to enable users to disable combined of datafiles
 - add statistic element that counts the number of combined datafiles

* Implement review

 - fix documentation
 - use locks to make statistic values consistent.
 - fix typo in variable name

* fix temporary variable unnecessary.

* changelog
2017-09-15 14:37:30 +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
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
Simon Grätzer 88d01b89b5 Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00