* issue 485: ensure LogicalDataSource::drop() is called on vocbase drop
* add missed change
* backport: address race between make(...) and async job
* add another missed change
* backport: ensure recursive lock reports itself as locked correctly
* backport: address test failure on mmfiles
* backport: remove redundant lock already held by async task
* backport: reset reader before unlinking directory
* update iresearch to codebase as of 20181011
* backport: address cluster test failures
* backport: address dump test failures
* backport: address discrepency in view creation between single-server and cluster
* backport: address test failure on cluster (revert change)
* backport: address test failures
* backport: address MSVC build issues
* backport: address issue with LogicalDatasource destructing after TRI_vocbase_t
* Revert "backport: address issue with LogicalDatasource destructing after TRI_vocbase_t"
This reverts commit 4f9880bbaa22194dfbb604b5a54658de1d447ac1.
* ensure no concurrent links midifications
* another attempt to fix
* reduce scope of the lock
* Revert "reduce scope of the lock"
This reverts commit 2eed8eb75c372c1723bcd46b05018843edcc51e0.
* avoid query cache double invalidation
* do not invalidate cache twice
* can't use CAS on directory_reader for the time being, protect with mutex instead
* do not lock properties during index consolidation
* reduce scope of _callbacksLock in FlushFeature
* prevent concurrent reader reopen
* get rid of memory stores
* do not use 'waitForSync' transaction option to synchronize a view
* honor `Methods::isSingleOperationTransaction()` hint
* explicitly specify index_writer's properties
* ensure data is synced
* fix tests
* another fix
* code cleanup
* remove code duplication
* some fixes
* fix typo
* issue 459.3: ensure collection permissions are checked before updating/dropping an IResearch view
* backport: ensure collection permissions are checked before updating/dropping an IResearch view on cluster
* backport: address test failures
* backport: address more test failures
* reuse existing classes for scoping ExecContext
* issue 450.3: use a single configuration policy differentiated by 'type' with arbitrary number of configurable parameters
* ensure test data is persisted to the test directory
* add missed declaration
* fix typo
* add full namespace and includes
* Added authentication tests for ArangoSearch views creation (client and task)
* Added authentication tests for ArangoSearch views querying (client and task)
* Added authentication tests for ArangoSearch views update (client and task) and correct other tests
* Added authentication tests for ArangoSearch views drop (client and task) and correct other tests
* Fix tests to support additional 'properties' layer of a view
* Add data to dumped/restored collection with a link from a view to single server test and view dump/restore to cluster tests
* backport from iresearch upstream: use a bitvector instead of an acceptor lambda for consolidation policies
* ensure view access permissions are checked for REST calls
* ensure view access permissions are checked for V8 calls
* do not allow LogicalView property modification if reading the properties fails
* Fixed authentication tests for ArangoSearch views to pass regardless of errorNum and possible multiple REST codes
* add missing ldap feature for enterprise version
* do not store useless data in ArangoSearch index (see #289, #441)
* issue 410.3: remove the extra neting of ArangoSearch view definition into 'properties'
* address merge issue
* backport: address test failures
* backport: address dump test failure
* issue 410.1: ensure both JavaScript and Rest API for views matches API for collections
* backport: address some FIXMEs
* backport: address test failures
* backport: address more test failures
* backport: fix some Ruby tests
* temporarily comment out broken Ruby tests
* backport: fix more broken Ruby tests
* temporarily comment out failing Ruby tests
* backport: match result structure for View instances with Collection instances
* backport: return different result structure for view listing and view definition
* backport: fix even more broken Ruby tests
* backport: do not depend on unordered_set stable order
* update documentation
* issue 400.2.4: register IResearchView sync tasks with IResearchFeature, remove unused configuration parameter
* set flag before notify, fix failures in new tests from 'devel'
* revert set flag before notify, fix more failures in new tests from 'devel'
* fix even more failures in new tests from 'devel', backport: do not reset notification flag if pending tasks were seen
* fix still more failures in new tests from 'devel'
* try to work around buggy test failures
* issue 401.2: split IResearchViewMeta into the user configurable part and internal state
* backport: update documentation and integration tests to reflect the IResearchViewMeta changes
* backport: addresss typo
* backport: address another typo
* 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
* issue 381.4.1: create a separate IResearchLink implementation for use with ClusterEngine
* backport: ensure StorageEngineMock assigns unique transaction ids
* delegate index normalization on the ClusterEngine to the 'actualEngine'
* issue 373.2: move toVelocyPack into LogicalDataSource
* backport: move static DataSource related strings into StaticStrings, add support for registering snapshots on DBServer views
* add initial implementation of scatter view rule and node
* add tests for `IResearchViewNode` and `IResearchViewScatterNode`
* add missing check
* modify IResearch execution nodes to use references instead of pointers
* use view id in searialized `ExecutionNode` representation instead of the name
* add cluster mode stubs and checks
* very first attempt to distribute IResearchViewNode
* further implementation of cluster-wide arangosearch views
* fix invalid json format
* add tests for coordinator iresearch view
* allow to retrieve a list of existing views on a coordinator
* more tests for coordinator iresearch view
* some fixes to enable query explanation
* remove Collection dependency from RemoteNode
* remove unnecessary remote ArangoSearch view scatter
* fix explanation appearance
* add some assertions
* minor fixes
* implement IResearchViewCoordinator::updateProperties
* fix view DDL issues
* handle link modifications in DDL operations
* add coordinator implementation of iresearch view links
* fix tests
* further coordinator based view DDL implementation
* further IResearchViewCoordinator implementation
* add initial implementation of AgencyMock
* fix some tests
* code cleanup
* extend test + some fixes
* more tests for IResearchViewCoordinator
* fix tests for IResearchLinkCoordinator
* some fixes after merge
* fix tests
* remove declaration of nonexistent (previously removed) method
* some fixes after review
* remove string duplication
* more tests and fixes
* more fixes and tests
* more tests
* one more test
* fix 'use-after-free' asan error
* fix non-enterprise tests issues
* issue 383.2: backport from iresearch upstream: address issue with _T(...) macro not working when _MBCS is defined on MSVC, backport from iresearch upstream: address issue with _T(...) macro not working when _MBCS is defined on MSVC
* backport: add more tests for IResearchViewDBServer
* Changes since last PR: use LogicalDataSource for Methods::StateRegistrationCallback instead of TRI_voc_cid_t to avoid unnecessary lookups
* backport: address cluster LogicalDataSource resolution failure