1
0
Fork 0
Commit Graph

42401 Commits

Author SHA1 Message Date
Jan a6e4946346
fix compile warnings in date functions with g++7 (#4930) 2018-03-22 17:41:53 +01:00
Andrey Abramov 614cf73ff8
Merge pull request #4922 from arangodb/bug-fix/internal-issue-#348.1
issue 348.1: use a view validity lock instead of a view member lock for snapshot readers
2018-03-22 18:48:31 +03:00
Manuel B 215777736e Move AQL Date Functions => CPP 2018-03-22 15:22:24 +01:00
Andrey Abramov 16a5eb29ec
Merge pull request #4882 from arangodb/bug-fix/internal-issue-#345
determine type of bound data source in AQL based on category of corresponding `LogicalDataSource`
2018-03-22 13:02:41 +03:00
Vasiliy a9b22ad36b issue 348.1: use a view validity lock instead of a view member lock for snapshot readers 2018-03-22 12:45:29 +03:00
Andrey Abramov 41eb649556
Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/internal-issue-#345 2018-03-21 21:02:17 +03:00
Jan cd219bdfa1
increase timeout for index creation (#4915) 2018-03-21 18:17:38 +01:00
Andrey Abramov 48d85506d9 more places to change error codes 2018-03-21 20:14:59 +03:00
Max Neunhöffer b8ca34c746
Run catch tests in subthread to get larger stack size in libmusl. (#4913)
* Run catch tests in subthread to get larger stack size in libmusl.
2018-03-21 18:01:01 +01:00
Max Neunhoeffer 5d5bf94000
CHange JSON of a view in Agency. 2018-03-21 17:59:54 +01:00
Andrey Abramov 15304b705b
Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/internal-issue-#345 2018-03-21 14:37:07 +03:00
Max Neunhoeffer 05b2ed8356
Merge remote-tracking branch 'origin/devel' into feature/arangosearch-cluster-views 2018-03-21 10:55:23 +01:00
Max Neunhoeffer 173b5fb892
Attach ClusterInfo methods to vocbase in coordinator case. 2018-03-21 10:54:35 +01:00
Michael Hackstein f9c2d7a0e6
Fixed catch test (#4910) 2018-03-21 10:19:03 +01:00
Max Neunhoeffer 0d3e6fc834
Merge remote-tracking branch 'origin/devel' into feature/arangosearch-cluster-views 2018-03-21 09:58:52 +01:00
Jan 5105e2b3c0
Remove "atLeast" from the internal query APIs (#4848) 2018-03-21 09:10:28 +01:00
Michael Hackstein bb17ae172f
Removed fakeit namespace. Kills windows (#4909) 2018-03-21 09:02:05 +01:00
Andrey Abramov 5fc89b315c adjust error message check 2018-03-20 19:09:07 +03:00
Andrey Abramov 04bb3da337
Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/internal-issue-#345 2018-03-20 19:04:54 +03:00
Michael Hackstein c1650702bf
Feature/aql server based locking (#4783)
* Started Implementing the ServerBasedlocking. There now is a container that can contain multiple query snippets. It now has to setup the necessary calls to the Servers

* Added backwards linking of QueryEngines, sth. DBServers can contact their Coordinators.

* Added LogTopic AQL

* Made AccessMode::Type Hashable

* Created a Mapping Server => LockLevel => Shard and createad a JSON object containing the Lock information for a complete AQL query per server

* Added code to build coordinator engines

* Finished with first draft of Coordinator-side of new DBServer based locking.

* Added a _api/aql/setup route that creates and locks all snippets/collections for one DBServer in a single go

* Fixed some Coordinator parts

* Index node now gracefully reports if it could not find it's collection when created from vpack. Otherwise it just hardly crashed...

* Modified the Coordinator Snippet collector to be able to handle subqueries properly.

* Started adding GraphNode handling. WIP. Need to deploy engines properly. Coordinator crashes on Graph tests

* Fixed compiler errors

* WIP: EngineInfoContainer

* Separated the EngineInfoContainers for Coordinator and DBServer into different files. They diverged more than anticipated

* Added forgotten files. THe DBServer container now creates the TraverserEngine Mapping and moves it into the Infos. They are not keeping it yet and need to add it to the message as well.

* The DBServer engine infos now persist the TraverserEngine infos. Need to add them to messages though.

* The new aql exec-engine now sends out traverserEngines as well

* Formatting and adding DEBUG level output

* Made the RestAQLHandler aware of the TraverserEngineRegistry. Also created the engines now. Return format changed server-side coordinator side needs fix.

* Adapted the Coordinator side for the DBServer based Shard Locking

* The DBServer based Locking now honors restrictions to certain shards

* Fixed a strange double lock bug in the new AQL Server based locking technique. Add some DEBUG output

* Fixed usage of MAINTAINERMODE macro. The assertion was never active

* Added TestCase for ContainerCoordinatorTest to cmake

* Added -DTEST_VIRTUAL to CMAKE. This is used to define virtual functions for mocking ONLY on test-builds.

* Fixed usage of ENABLE_MAINTAINER_MODE ifdef. CLANG format

* On non-enterprise builds ENTERPRISE_VERT defaults to TEST_VIRTUAL => virtual in test else non-virtual

* Added TEST_VIRTUAL to ExecutionEngine, Query and QueryRegistry

* Added first testcase for EngineInfoContainerCoordinator not yet ready.

* Mode CreateBlock a member function of engine, we have the engine in our hands anyways no need to make it static. Included some more TEST_VIRTUAL functions.

* Fixed clang/MacOs compile error. Added some more TEST_VIRTUAL declarations

* Finally fixed the first buildEngines UnitTest \o/

* Added a unit-test for backward linking of dependencies in CoordinatorPlanner

* Added multi-snippet test for EngineInfoContainerCoordinator

* Removed QueryRegistry.h from central header files and replaced by a forward declartion.

* Added a createBlocks method on the ExecutionEngine. It should be responsible to create all those blocks at once. Adapted the UnitTests as well. Not included Tests for the new createBlocks functionality. Need to mock the options feature first

* Added another test that Coordinator Snippets of queries can be created correctly

* Fixed Coordinator-site cleanup of QueryRegistry, if any of the query creations fails with error, incl UnitTest.

* Added first test for RestAqlHandler::setup. It does only test the setup and gives prepartion for real testing.

* Added a assertion of http return code. Still no creation of queries is tested. Requires a huge amount of mocking.

* 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

* Allow the clustercomm to send nolock headers on count. This is used form within AQL

* IsLocked on transactions will now always yield true IF LOCK_NEVER is set. We simply assume someone else holds the lock for us. Also LOCK_NEVER is now set on collection/count if noLock header is send.

* Moved the flag if collections need to be locked into the TraverserEngines.

* Added enterprise-satellite hooks in EngineInfoContainerDBServer

* Removed now obsolete code

* Replaced throwing of Exception by an ResultObject

* Added some more tests and moved adding snippet to query engine more to the outside.

* Added the AQL result type

* Make the branch compile again

* Register WITH collections for Graphs in the new Collector.

* Fixed test code for failing query clone. Idea was to once clone successfully and second time to fail, we verify that first clone is cleaned up properly. However test failed on first clone...

* Removed a double builderClose

* Added Changelog entry

* Removed empty if

* Removed obsolete todo

* Properly initialize the AqlResult with nullptr on error case

* Updated comment

* Simplified Assertion

* Removed debug output object...

* Added additional catch case for std::exception to get some more error info

* Clarified evaluation order for move case

* Added Explicit

* Fixed cleanup of Coordinator if Registry fails to insert query.

* Allow to use other locks than Read/Write for AQL collections. Not yet in API.

* Updated Comments for other Locks on DBSide. Adapted Destruction CatchTests

* Fixed double builderClose and removed unnecessary double commits

* Added a comment to clarify the state

* Moved error output to trace. Leftover from debugging

* Added some tests for complex subquery patterns

* Added a 'fireAndForgetRequests' methods to cluster comm which allows to send out a bunch of messages but does not wait for their results

* Properly cleanup leftovers of queries if the instantiation step already failed

* Added code comment for fireAndForget

* Added indexes to subquery test to make the plan a bit easier

* The cleanup on DBServerEngines in error case now also cleans up traverser engines.

* Removed unnecessary includes

* Removed debug logging

* Fixed hidden merge conflict
2018-03-20 16:52:19 +01:00
Andrey Abramov 5d78cf8aa8
Merge pull request #4899 from arangodb/bug-fix/internal-issue-#344.8.1
manually-merge: add more tests, backport some miscellaneous fixes
2018-03-20 18:22:51 +03:00
Vasiliy a553410296 backport: explicitly set the database path in test setup 2018-03-20 17:54:49 +03:00
Vasiliy 399c1ce2f0 manually-merge: add more tests, backport some miscellaneous fixes 2018-03-20 16:40:35 +03:00
Andrey Abramov 3a30c85e49
Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/internal-issue-#345 2018-03-20 15:59:44 +03:00
Max Neunhöffer 34fb55d024
Use a temporary directory for the DatabasePathFeature in catch tests. (#4896)
* Use a temporary directory for the DatabasePathFeature in catch tests.
2018-03-20 13:57:52 +01:00
Jan 71302170c8
fixed internal issue 2102: Segfaults in arangod console when using ag… (#4874) 2018-03-20 09:17:06 +01:00
Manuel B ffe11c652a Doc - check for no new line after restdescription (#4883) 2018-03-19 20:40:09 +01:00
Wilfried Goesgens 5fbb78f4e3 Bug fix/fix context allocation (#4892) 2018-03-19 13:26:13 +01:00
Andrey Abramov 7030325af0
Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/internal-issue-#345 2018-03-19 13:55:45 +03:00
Andrey Abramov 294c36f778 use ERROR_ARANGO_DATA_SOURCE_NOT_FOUND instead of ERROR_ARANGO_COLLECTION_NOT_FOUND/ERROR_ARANGO_VIEW_NOT_FOUND in js part too 2018-03-19 13:55:25 +03:00
Wilfried Goesgens 5c70062929 fix V8-context enter/exit pairs (#4879) 2018-03-19 11:03:54 +01:00
Wilfried Goesgens 7b99fd05d9 Fix building V8 with debug mode (#4878) 2018-03-19 11:03:32 +01:00
Jan e66b00b745 Doc - Fix for Issue #4881 (#4890) 2018-03-19 10:32:01 +01:00
Max Neunhoeffer d4616a6063
Merge remote-tracking branch 'origin/devel' into feature/arangosearch-cluster-views 2018-03-19 10:08:47 +01:00
Jan 5fd0bb7dbf
removed remainders of dysfunctional `/_admin/cluster-test` and `/_admin/clusterCheckPort` API endpoints and removed them from documentation (#4861) 2018-03-18 22:48:09 +01:00
Andrey Abramov e2fe4330e1
Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/internal-issue-#345 2018-03-17 21:21:29 +03:00
Andrey Abramov 01d9baf359 remove TRI_ERROR_ARANGO_VIEW_NOT_FOUND, rename TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND to TRI_ERROR_ARNANGO_DATA_SOURCE_NOT_FOUND 2018-03-17 19:36:14 +03:00
Jan 89bde50c93 Doc - Fixes issue #4868 2018-03-16 18:16:25 +01:00
Andrey Abramov 0b37cd1796 fix some issues, add more tests 2018-03-16 17:40:34 +03:00
Heiko 69f332c960 Doc - Update MacOSX.md (#4873)
updated very old paths and version (1.4 -> 3.3.4)
2018-03-16 10:49:40 +01:00
Andrey Abramov 9e220286d9 fixes after merge 2018-03-15 20:28:57 +03:00
Andrey Abramov 44aa44a93e Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/internal-issue-#345
# Conflicts:
#	arangod/Utils/CollectionNameResolver.cpp
#	arangod/Utils/CollectionNameResolver.h
2018-03-15 20:03:41 +03:00
Vasiliy 06eb8ade01 issue 344.7: remove more redundant functions (#4863)
* issue 344.7: remove more redundant functions

* backport: fix missed functions under USE_ENTERPRISE
2018-03-15 17:10:28 +01:00
Max Neunhöffer 793101528f Repair resilience-sharddist test by increasing timeout. (#4857) 2018-03-15 13:29:55 +01:00
Vasiliy 148bdb7158 issue 344.6: remove some redundant functions (#4842) 2018-03-15 11:03:35 +01:00
Jan aad64bfdd7
fixed issue #4843: Query-Result has more Docs than the Collection itself (#4855) 2018-03-15 10:52:38 +01:00
Max Neunhöffer 52dd3e82ce
Fix second cluster bootstrap hanger. (#4841)
Call loadCurrentDBServers regularly.
2018-03-15 00:44:15 +01:00
Max Neunhoeffer 0f46598200
Merge remote-tracking branch 'origin/devel' into feature/arangosearch-cluster-views 2018-03-14 23:24:41 +01:00
Max Neunhoeffer e72c8f24fb
Fix compilation. 2018-03-14 23:24:07 +01:00
Max Neunhoeffer ce8db24975
Add methods in ClusterInfo to create and drop views. 2018-03-14 23:22:44 +01:00