* start implementing arangosearch cluster tests.
* backport: ensure view lookup is done via collectionNameResover, ensure updateProperties returns current view properties
* first attempt to fix failing tests
* refactor cluster wide view creation logic
* if view is not found in the new plan then check the old plan too
* ensure the cluster-wide view is looked up in vocbase as well on startup/recovery
* do not store cluster-wide IResearchView in vocbase
* move stale view cleanup to the shared pointer deleter, address test failures
* do not print warning
* enable arangosearch tests by default
* fix catch tests
* address icorrect return value for cluster-wide links
* address some issues with test failures due to cluster-view allocated within TRI_vocbase_t
* simplify per-cid view name, address 'catch' test failures
* ensure IResearchViewNode volatility is properly calculated in cluster
* invoke callbacks directly in AgencyMock instead of waiting for timeout
* ensure view updates via JavaScript always use the latest view definition
* pass a list of shards to `IResearchViewDBServer::snapshot`
* extend cluster aql tests
* fixes after merge
* fix class/struct inconsistencies
* comment failing tests
* remove debug logging
* add debug function
* tests cleanup
* simplify upcoming merge: pass resolver from a side
* backport: move all transaction status callback logic to Methods
* add changes missed from previous commit
* fix js and ruby tests
* more tests for IResearchViewNode
* pass transaction to IResearchViewDBServer::snapshot, address IResearchViewDBServer tests segfault
* pass transaction to IResearchView::snapshot instead of transaction state
* temporarily add trace log output to tests to try to find the cause of the core dump on Jenkins
* add more temporary debug output to trace down the segfault on Jenkins
* add even more temporary debug output to trace down the segfault on Jenkins
* ensure Vieew related maps are cleared during shutdown
* reset ClusterInfo::instance() before DatabaseFeature::unprepare()
* remove extraneous debug output
* missed line from previous commit
* uncomment required line
* add nullptr checks to RocksDBIndexFactory::prepareIndexes(...) similar to the ones in MMFilesIndexFactory::prepareIndexes(...)
* attempt to fix deadlock in tests
* add comment as per reviewer request
* fix aql test suite name
* add some debug logging
* address deadlock between ClusterInfo::loadPlan() and CollectionNameResolver::localNameLookup(...)
* eplicitly state which index definition failed in the log message
* use vocbase from shard-view isntead just in case
* explicitly state which index definition failed in the log message
* do not create shard-view instances from cluster-link instances (only register existing ones)
* add some tests
* add missing documentation about argument handled in unittest.js
* improve error handling on fs.write
* fix option name
* improve result handling
- add exception handling
- write status bad even before we start the test so we really know when
something went wrong.
* SYS exceptions will already handle system exceptions
* rethrow
* only return true if the file object has no error bit set
* don't double-close on error.
* add note that we disable exceptions explicitely
* Re-Add the now optional method to automatically analyze crashes
* the user or CI may now specify `--coreCheck true` if the testsuite
should perform automatic core analysis for him.
* improve english, fix object member to address as pointed out by @dan
* fix dump&restore of smart graphs (#5093)
* Added tests for dump-restore of SmartGraphs
* Arangosh will now expose isSmart and the smartGraphAttribute on properties
* RestReplicationHandler will now ignore smart-graph collections unless you execute it with force
* Added changelog
* Reactivated original mmfiles dump/restore test
* Skip hidden smart graph collections in arangodump
* Do not dump shadowCollections metadata of smart edge collections
* Cluster optimizer rules for soerted gather nodes now handle virtual edge collections correctly
* Added a dump/restore tests for smartgraphs in rocksdb as well
* Deactivated checks for writesExecuted statistics in dump/restore tests for smartgraphs mmfiles
* Really exclude shadowCollections
* Reduced loglevel
* Added tests
* Don't change single-server behaviour
* Fix tests for omitted shadowCollections and hidden collections
* Activated statistics in MMFIles dump test again and included isEnterprise in rocksdb dump test
* A modification node can now disableStatistics, which means it does not contribute to query->extras() this is only relevant in SmartGraph case so far.
* Added a test to dump&restore satellite collections
* Bugfix: restore satellite collections properly
* Added regression test for internal issue #2237
* Fix bug #2237
* Updated CHANGELOG
* Copied dump/restore tests to rockdsb
* Removed enterprise test
* Added inline comment for smart-edge collections in optimizer rules
* Removed duplicate CHANGELOG entry
* Simplified removal of shadowCollections
* fix jslint
* Made internal.isEnterprise() available in js client context. Taken from 3.3/59f655fa
* fix broken dump_encrypted test
* Removed accidentally copied CHANGELOG entry
* Cherry Picking LDAP changes
* Adding missing merges
* Fixing remaining mentions of FeatureCacheFeature
* Fix jslint
* Fixing some failed tests
* Fixing cluster authentication issue, red tests
* Fixing ldap testsuite, adding trace logging
* Fixint ldap tesuite setup and LDAP recognition
(cherry picked from commit 686d28a779)
* Fixing wrong assert
* Adding changelog entry, making requested changes from code review
* Fixing dump_authentication, fix typos
* improvements found during code review
* oops
* more use of sessionstorage
* fix tests
* Fixing broken handling, disallowing adding of local users when disabled
* Fixing testInvalidGrants
* Removing undefined auth level externally
* Fixing previous commit
* added tests for ldap search mode
* intentionally removed `after` methods from tests
because they are executed before the tests start
no cleanup is performed right now after the authentication tests
however, a cleanup is done at start of every test
* ldap tests all modes
* forward port changes from 3.3
* added generated files
* forward port missing changes for web UI
* added generated files
* added generated files
- migrate the process handling to c++ where appropriate
- move code definition / usage closer together
- add function to portably detect external processes (not spawned by us) and whether we may
- send them signals
- add portable code to send signals to processes
- for linux match what impact a signal will have on the process we send it
- check the status of the process we sent the signal, and return if its non-deadly or the process terminated
- after 8 retries with 1 second sleep send a hard kill.
- killExternal() now returns the same structure as statusExternal()
- don't block signals on spawned processes
* If our arango-object claims its got a connection to the arangodb server, use it to send a shutdown signal to the server.
If not, fall back to using a download http request.
* don't use kill to shut down the server, we now can use the regular shutdown command.
* 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
* Cleanup after each testrun
- add a success testsuite next to the fail testsuite
- create temporary directories in the fail & success testsuites
- add a function to cleanup the last unshifted directory
- don't say we're crashed when exiting with the help message
* Specify temp path for SUT so its files will be removed after cleanup.
- cleanup
- don't use getTempFile(), it will create another subdirectory that we don't clean up afterwards...
* Fix temp path usage
- creating a 'bundles' directory wherein we would keep our temporary bundle files would collide if we'd clean it up.
- create 'bundles-tmpxxxx' instead so its individual to us and we can remove it when done without problems.
* properly create & pass in a temporary directory - as we now require this.
* Remove intermediate directory recursive - for some unknown reason there may be temp files created.
* we need to unify tempfilenames here too.
* use individual suite names
* use the standart performTests to run the backup tests - so we have the proper directory and server handling from the infrastructure.
* fix temporary directory handling in the recovery tests.
* script to build debugging debian packages
* Improve test shutdown
- handle a set of options globally per testsuite, so they don't need to clone them inside.
- properly cleanup the slave instance of the replication tests after each run.
- The per testsuite options vector will fix the behaviour that after one failed testsuite
all other suites won't be cleaned up anymore.
* don't call the overal cleanup if anything failed.
* fix cleaning up of directories.
* cleanup, fix directory creation / deletion / dummy creation.
* cleanup, fix directory creation / deletion / dummy creation.
* fix tempdir handling for the recovery tests
* 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
* implement transaction handler in c++
* add fake request object
* move general code into extra file
* improve error messages for RestJobHandler
* support cancel operation for async jobs with RestTransactionHandler
* fix integration test and add some optional debugging output
* fix returning of context
* fix error type
* fix code in cluster test
* remove unused variable
* 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
* do not rely on non-existing feature "AQL"
using such feature makes the server throw two exceptions (which will be caught) on startup, but its silly for debugging
* use condition variable for signalling shutdown
* do not hard-code the log levels for recovery tests
this has taken so many developers so much of their time that it is about time to fix it
* ensure the 'unittests' script properly finds 'arangosh' and the build directory
* add warmup documentation - #188
* warn when relinking build directory
* add warmup documentation - #188
* warn when relinking build directory
* Renamed warmup to loadIndexesInMemory which is a better name for the current implementation of this feature.
* Adapted WebUI to state 'load indexes in memory' instead of 'warmup'
* Added loadIndexesInMemory documentation.
* Renamed loadIndexesInMemory => loadIndexesIntoMemory
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.
* Improve Foxx cluster resilience
Fixes#2083Fixes#2384Fixes#2408
Addresses #1892
* Port old Foxx API
* Implement single-file services
* Add console.errorStack/warnStack/infoStack helpers
* Simplify serviceInfo validation
* Extract github/upload logic into Aardvark and old FM API
* Move generator logic into Aardvark
* Move zip/js buffer logic into FM core
* Add Foxxmanager tests
* Send empty response when no README
* Disambiguate script arg format
Historically we allow passing an array of positional arguments or an arbitrary first argument.
This is surprising behaviour, so we should just always treat the value as a first argument.
* Rebuild bundle in development mode
* Nicer HTTP docs formatting
* Create Foxx HTTP docs
* Simplify service upload handling
* Remove inline swagger docs
* Implement public download route
* Consistency
* Rebuild aardvark
* Move bundle route into /_api/foxx/_local
* Rebuild Swagger API docs
* Add changes to CHANGELOG
* More docs
* 'devel' of https://github.com/arangodb/arangodb:
fix enterprise branch detection so it doesn't trigger a full recompile
fix detection of partial cmake configure
fix detection of partial cmake configure
one more place to choose the propper directory for unittest result files.
remove debug print
fixed issue: #2412
fix crash
* 'devel' of https://github.com/arangodb/arangodb:
Cluster: expose body as V8 buffer in asyncRequest
Cluster: expose getFoxxmaster in V8
make rspec backtrace more compact
* 'engine-api' of https://github.com/arangodb/arangodb: (46 commits)
Merged RocksDBPathBasedIndex into RocksDBVPackIndex.
fix handling of externals
fix toArray()
fix returning documents
Added hash-, skip list, persistent indexes
harmonize filtering - filter on full filename.
mini modifications
standardize starting of servers for replication tests
Edge index compliant with design doc
another fix for #2404
Moved „removeLargeRange“ method to commons
Added length byte to IndexValue keys.
fixed issue #2404
Added drop to primary index
Added drop() to indexes
Fixes a coordinator crash in Clustered Traversal. In case of failover during query planning.
Fixed edge index
Expand on CORS documentation
Let ArangoDB handle the allow-credentials header
make the authentication tests run on directories
...
- split utility functionality into its own file
- add module loader so we can have modules
- move all testsuites into own files
- remove complicated testcase joining / splitting methods
- add storage engine switch:
- filter for files with `-rocksdb` or `-mmfiles` depending on the used storage engine.
- fix missing color reset on error messages
- make --test a substring match instead of a full match.
- print an error message if --test did not match any testcase and thus no tests were run
- disable crash check for the recovery testcases that are actually intended to crash so we can recover from the failed state
- scan for recovery testcases instead of keeping a hand written list
- make test-scan function public