1
0
Fork 0
Commit Graph

5800 Commits

Author SHA1 Message Date
Jan 245c759523
fix incompatibility after fullCount change (#5399) 2018-05-22 11:28:17 +02:00
Wilfried Goesgens 7b8fce07a4 aql current_user in cpp, test (#5302) 2018-05-19 21:26:53 +02:00
Jan df23ed092e
Bug fix/cleanup 1705 (#5376) 2018-05-18 09:21:50 +02:00
Wilfried Goesgens eed1235893 Feature/aql date trunc 2 (#5295) 2018-05-16 17:33:27 +02:00
Mark 435523167f Bug-fix Foxx empty json request body (#5304) 2018-05-16 16:54:38 +02:00
Mark 3f557d64cc Fix Foxx queues (#5352) 2018-05-16 16:54:03 +02:00
Wilfried Goesgens e1a8db0eb6 Feature/aql format date (#5294) 2018-05-16 14:05:55 +02:00
Jan 07e5750737
Feature/change fullcount behavior (#5285) 2018-05-14 15:46:07 +02:00
Jan 1c1d8f2528
fix AQL ZIP function with duplicate attribute names (#5336) 2018-05-14 12:59:18 +02:00
Tobias Gödderz afe13fba57 Fix race condition between foxx install and selfHeal (#5273) 2018-05-11 12:27:56 +02:00
Jan e1da502c67
remove now-superfluous tests for V8 versions of AQL functions (#5319) 2018-05-11 08:31:14 +02:00
Tobias Gödderz 8c87f51429 Feature/fix inconsistent distribute shards like job (#4743) 2018-05-07 16:53:08 +02:00
Jan 7247816422
Feature/aql cleanup (#5261) 2018-05-04 11:20:47 +02:00
Jan 9c0460acff
Feature/aql optimizations (#5237) 2018-05-03 16:55:58 +02:00
Alan Plum d5a93f5926 Teach executeTransaction about ArangoCollection objects (#5183)
* Teach executeTransaction about ArangoCollection objects

* Simplify logic

* Don't test with allowImplicit

* Update arango-database.js
2018-05-03 14:17:31 +02:00
Jan Christoph Uhde 1c88902962 Fix AQL LIKE function - escapes * when building pattern. (#5239) 2018-05-03 13:14:58 +02:00
Simon 828f1d423c S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
jsteemann 996cba393f potential test fix 2018-05-02 10:37:19 +02:00
Dan Larkin-York b9d05351fb Parallelize arangorestore using the tools developed for arangodump (#5206) 2018-05-01 10:56:11 +02:00
jsteemann 3fee25dd9d remove references to V8() function from test file 2018-04-30 23:35:26 +02:00
jsteemann b1c48f60cd jslint 2018-04-30 18:38:06 +02:00
Wilfried Goesgens ba278a64c9 add native implementation of the FAIL aql function (#5232) 2018-04-30 18:35:14 +02:00
Jan 349e2c1681 forward-port AQL optimizations from 3.3 (#5020)
* forward-port AQL optimizations from 3.3

* fix restrict-to-single-shard rule

* added tests for specific cases

* ModificationNodes now can know if they are restricted or not

* OptimizerRule now updates the ModificationNode instead of setting ownName on remote node.

* The DBServerEngine container now only sends a subset of snippets (those which are relevant) It is  able to restrict any part of the query to a certain shard or even a list of shards

* ExecutionEngine CreateBlocks in ClusterMode now returns Result instead of throwing.

* Adapted Coordinator side to a bitter mapping of RemoteNode => QuerySnippets. This is still ongoing work.

* Fixed Coordinator enginecontainer test and finisehd implementation of EngineInfoContainerDBServer. Seems to work so far, need to adapt test to prove it.

* Adapted test for modification nodes and restrict to shard.

* restrictTo can now be de-/serialized on Modification Nodes

* Fixed Community Compile Error

* Added a test for Indexes/EnumerateCollection nodes

* EnumerateCollection and IndexNode now have options to be restricted to a single shard, opt rule not yet updated

* DBServer part of planning now checks Enumerate and IndexNodes for single shard optimization

* Added tests for simple single shard optimization on IndexNodes

* Adapted optimzierrule for SingleShard optimierung on IndexNodes

* Fixed an issue with externally restricted shard ids in combination with shard_id based optimization

* Added a test for multiple single shard optimizations on the same collection

* Removed collection/Shard duplicate check of optimize to single shard rules

* Updated Explainer to handle optimize to single shard

* Let more tests pass an optimized AQL variant

* Temporarily disabled a tests that can only be solved after some work in transaction
2018-04-30 11:25:09 +02:00
Jan 30b12e311b
Bug fix/remove most of aql js (#5223) 2018-04-30 11:17:11 +02:00
Simon 468231efc5 AQL Profiling code (#5165)
* initial start of profiling

* adding profiling code

* Fixing remote block tracing, fixing width and units

* Fixing some tests

* Various fixes

* adressing review comments
2018-04-24 16:17:30 +02:00
Simon 45fbed497b Supervision Job for Active Failover (#5066) 2018-04-23 12:49:41 +02:00
Kaveh Vahedipour 3d043b35a3 Feature/supervsion maintenance mode (#5108)
* Supervision goes to Maintenance mode, when /arango/Supervision/Maintenance exists
* coordinator route stands
* stop updates in transient, when supervision off
2018-04-20 13:23:22 +02:00
Alan Plum 2a6f8a21aa Allow specifying Foxx manifest.json value (#5157) 2018-04-20 12:55:18 +02:00
Simon fad4c0f9f4 Moving out more from #5066 (#5124) 2018-04-17 16:55:19 +02:00
Simon 8be273efb8 Replication cleanup (#5105) 2018-04-17 08:17:42 +02:00
Tobias Gödderz 089b21e3de fix dump&restore of smart graphs (#5093)
* 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
2018-04-16 12:28:13 +02:00
Wilfried Goesgens ac2a8721e6 Feature/aql native call apply (#5100) 2018-04-13 16:07:06 +02:00
Jan 79eef177ce
remove sorts from GatherNode if not required (#5019) 2018-04-13 16:02:00 +02:00
Jan 167dfcdf7f
Feature/index only scans (#5005) 2018-04-03 17:34:28 +02:00
Jan 65bfeb7054
Bug fix/forward port 3.3.5 changes (#4956) 2018-04-03 17:31:34 +02:00
Simon f6d3032f59 Enabling cache (#4880) 2018-04-03 14:18:57 +02:00
jsteemann eb1af0e14f attempt to fix non-deterministic test 2018-03-28 14:46:26 +02:00
Max Neunhöffer 8168cc976a
Fix replication test w.r.t. indexes comparison. (#4978) 2018-03-28 09:42:47 +02:00
Jan 2c3632118c
fixed issue #4934: Wrong used GeoIndex depending on FILTER order (#4948) 2018-03-26 09:42:49 +02:00
Wilfried Goesgens a16d4b0109 Feature/cpp aql reverse (#4911) 2018-03-23 09:54:37 +01:00
Jan 69ba136a6b
fixed issue #4900 (#4917) 2018-03-22 18:26:24 +01:00
Manuel B 215777736e Move AQL Date Functions => CPP 2018-03-22 15:22:24 +01: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 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
Max Neunhöffer 793101528f Repair resilience-sharddist test by increasing timeout. (#4857) 2018-03-15 13:29:55 +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
Jan b325d05357
Bug fix/aql auto keep on collect (#4795)
* automatically detect which variables to keep in AQL COLLECT

If a COLLECT INTO is used, then it is detected which sub-attributes
of the into variables are used later in the query, and automatic
KEEP instructions are added to the COLLECT if possible

Example query:

    FOR doc1 IN collection1
      FOR doc2 IN collection2
        COLLECT x = doc1.x INTO g
        RETURN { x, all: g[*].doc1.y }

would be turned into

    FOR doc1 IN collection1
      FOR doc2 IN collection2
        COLLECT x = doc1.x INTO g KEEP doc1
        RETURN { x, all: g[*].doc1.y }

and prevent `doc2` from being temporarily stored in the variable `g`

* fix runtime warnings

* increase default flush timeout

* added tests
2018-03-14 13:59:46 +01:00
Jan 2f47cdcaf9
fixed issue #4827: COLLECT on edge _to field doesn't group distinct values as expected (#4830) 2018-03-13 13:40:26 +01:00
Jan 67e7e4181e
Bug fix/remove v8 executor (#4756) 2018-03-13 10:41:02 +01:00
Wilfried Goesgens 87edf275e3 implement SPLIT Aql-Function in C++ (#4786) 2018-03-09 09:12:30 +01:00
Simon 272859c5fd Replacing js upgrade logic (#4061) 2018-03-08 13:57:30 +01:00
Andrey Abramov 29b7a7ea44 remove logger view (#4764) 2018-03-08 09:18:21 +01:00
Mark 292117e3cf Bug fix devel/bfs filter vertices (#4752) 2018-03-08 09:06:15 +01:00
Jan 46a56792ed
fix `fullCount` value in some cases in cluster mode (#4723) 2018-03-01 18:33:10 +01:00
Simon 345fc3c0b7 Refactor Authentication Layer (devel) (#4592)
* 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
2018-02-28 13:24:28 +01:00
Jan 9ca52c0cf7
fixed issue #4651 (#4659) 2018-02-28 12:56:07 +01:00
Vasiliy 423ce33ed1 Changes since last PR: remove 'dataPath' IResearchView configuration property and use a hardcoded path similar to a LogicalCollection (#4683) 2018-02-27 18:10:32 +01:00
Jan da1dd2b063
fix issue #4677 (#4679) 2018-02-27 11:29:09 +01:00
Jan Christoph Uhde 586a66ebbf Fix: #4583 - adds AQL ASSERT and WARN (#4584) 2018-02-26 14:25:24 +01:00
Mark cd97787adf Fix Foxx API (#4614) 2018-02-20 10:22:27 +01:00
jsteemann aa5e02c82d make syncer more compatible and ignore revs if not present 2018-02-19 18:44:08 +01:00
Jan 63c50c3993
Bug fix/handle single delete (#4618) 2018-02-19 14:49:58 +01:00
Wilfried Goesgens bda5c79bce Implement FIND_FIRST and FIND_LAST in c++ (#4608) 2018-02-19 10:41:21 +01:00
Wilfried Goesgens 101a9893a4 migrate r/l-trim, split trim so we can reuse that code. (#4578) 2018-02-16 14:10:00 +01:00
Vasiliy 828f8fb48c locally tested only, Changes since last PR: ensure parser.cc dependency is tracked in the build directory to avoid bison invocation on MSVC, aquire IResearchView snapshot at transaction begin() and reuse it for all queries, remove unused callback registration from Methods (#4564) 2018-02-14 12:32:29 +01:00
jsteemann a0ace6ef73 fix jslint 2018-02-13 12:21:20 +01:00
Wilfried Goesgens 619155a62d Feature/aqlfunction to cpp (#4573) 2018-02-13 11:50:49 +01:00
Wilfried Goesgens 16648fc628 fix windows compile (#4557) 2018-02-11 18:56:13 +01:00
Dan Larkin 934e936bae Fix index selectivity estimate issues with RocksDB engine (#4429) 2018-02-09 16:05:33 +01:00
Simon 35136a89c0 Fix some problems with active failover (#4540) 2018-02-09 15:11:53 +01:00
Jan 8da61a9875
Bug fix/more replication tests (#4500) 2018-02-09 13:06:47 +01:00
Jan 4f872b62ee
add missing edge filter NeighborsEnumerator (#4547) 2018-02-08 15:15:29 +01:00
Jan 0eae1d225f
fix internal issue #1848 (#4521)
AQL optimizer was trying to resolve attribute accesses
to attributes of constant object values at query compile time, but only did so far
the very first attribute in each object

this fixes https://stackoverflow.com/questions/48648737/beginner-bug-in-for-loops-from-objects
2018-02-08 09:23:15 +01:00
jsteemann 24da298f0a removed useless explain 2018-02-08 09:01:03 +01:00
Alan Plum 232abd4bd0 Fix legacy Foxx HTTP API compat layer (#4265) (#4449) 2018-02-05 12:35:51 +01:00
Mark 599da158b5 Bugfix Foxx API tests (#4446) 2018-02-05 11:31:27 +01:00
Alan Plum 58cfd340cc Don't greedily delete legit app folders (#4437)
See #4395
2018-02-05 11:30:05 +01:00
Vasiliy aa041ddfb9 locally tested only (#4476) 2018-02-05 11:24:34 +01:00
Dan Larkin bf606bdf89 Rename more '-iresearch' tests to '-arangosearch'. (#4477) 2018-01-31 18:01:04 +01:00
Dan Larkin a25384fe6c Rename -iresearch files to -arangosearch for proper test selection. (#4386) 2018-01-31 17:25:59 +01:00
Jan Christoph Uhde fd166d07f4 try to fix windows build (#4468) 2018-01-31 10:09:39 +01:00
Alan Plum 05d0c81d7d More consistent config/deps output in Foxx API (devel) (#3792)
* Correctly expose parsed/raw config

This makes accessing the configuration more consistent by distinguishing between the raw (assigned) and parsed (validated/default) values.
Previously there was no way to recognise default values for unset config options and the "current" value did not actually reflect what the service sees.

* Add minimal option to config/deps routes

The default values are backwards compatible with the existing behaviour but can be overridden to consistently get more/less output.

* Actually merge warnings into non-mininal response
2018-01-30 16:50:36 +01:00
Michael Hackstein 7a5a9a620c
Bug fix/distribute shards like (#4415) 2018-01-29 13:07:06 +01:00
jsteemann a73408182c fix invalid filename (my bad) 2018-01-25 16:46:15 +01:00
Jan caf409b638
fix issue #4272 (#4419) 2018-01-25 15:57:13 +01:00
Wilfried Goesgens 14c5c3aa35 fix restoring a dump created from a cluster to single server (#4350) 2018-01-24 13:50:27 +01:00
Jan abd3355784
renamed files (#4405) 2018-01-24 09:54:24 +01:00
Jan 1a7177bc3d
added traversal test (#4376) 2018-01-23 15:18:09 +01:00
Simon 3de120d915 Doc - Move cursor documentation out of deprecation folder (#4353) 2018-01-23 11:01:29 +00:00
Andrey Abramov ffbb00bbe2 standardize on the 'analyzer' and 'trackListPositions' naming (#4384) 2018-01-22 16:39:53 +01:00
Max Neunhöffer c221dddad4 Wait for 5 dbservers to be there and GOOD before test starts. (#4364) 2018-01-19 18:37:46 +01:00
Andrey Abramov a1cfb3d72b Feature iresearch (#4105) 2018-01-19 14:23:58 +01:00
Michael Hackstein 40fa74f626
Bug fix/selectivity estimates on abort (#4337) 2018-01-16 18:21:55 +01:00
Michael Hackstein 4a5301fbf9
Bug fix/rocksdb truncate (#4328) 2018-01-16 15:21:43 +01:00
Michael Hackstein 802fda8e10 Revert "Bug fix/selectivity estimates on abort (#4314)"
This reverts commit d32f3b5fe9.
2018-01-16 14:39:02 +01:00
Michael Hackstein d32f3b5fe9
Bug fix/selectivity estimates on abort (#4314) 2018-01-16 12:39:03 +01:00
Michael Hackstein d32ac3b9c8
Bug fix/rocksdb truncate (#4060) 2018-01-16 09:01:04 +01:00
Jan 653f95f243
fixed issue #4185: On execution of FULLTEXT search / AQL query db is … (#4238) 2018-01-16 00:27:27 +01:00
Jan 37da067059
fix missing events in RocksDB-based replication for transactions that… (#4277) 2018-01-16 00:27:11 +01:00
Heiko 947771b757 updated swagger to current version: 3.9.0 (#4285) 2018-01-16 00:25:15 +01:00
Jan Christoph Uhde bddadda0ee add 'create database' to 'import feature' (#4278) 2018-01-15 15:15:31 +01:00
Jan 416724ff68 try to make replication test more deterministic (rough guess only) (#4275) 2018-01-14 22:10:58 +01:00
Max Neunhöffer f2cf4cbb80 Fix shard distribution test. (#4260) 2018-01-14 22:06:06 +01:00
Jan 140452c80c
fix memory hunger of cache (#4270) 2018-01-12 12:14:11 +01:00
Jan b2b6c06cbf
Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
Jan 3b6e85f4a6
fixed issue #4197: AQL statement not working in 3.3.1 when upgraded from 3.2.10 (#4206) 2018-01-05 14:52:03 +01:00
Jan d113b755a0
fixed issue #4199: Internal failure: JavaScript exception in file 'arangosh.js' at 98,7: ArangoError 4: Expecting type String (#4202) 2018-01-05 14:51:26 +01:00
Jan 2a93560473
added AQL function `IS_KEY` (#4158) 2018-01-05 14:50:57 +01:00
Jan 7018d003cc
added `SORTED` and `SORTED_UNIQUE` AQL functions (#4157) 2018-01-05 14:50:27 +01:00
Alan Plum d37fd83a96 Warn about Foxx manifest names (#3899)
Via #3818
2018-01-05 14:49:05 +01:00
Kaveh Vahedipour 7715c75c59 let's not miss failedserver removal (#4208)
* let's not miss failedserver removal
* remove resetting of FailedServers in test code
* Only call abortRequestsToFailedServers at most every 3 seconds.
2018-01-03 21:55:40 +01:00
Jan 6ab17171a3
do not materialize entire collections using V8 (#4087) 2018-01-02 15:47:41 +01:00
Heiko 65d22c6066 Feature/sha512 aql cpp (#4181) 2018-01-02 14:31:01 +01:00
Jan 1d24a4e14a
temporarily break flush thread feature in order to prevent some loss (#4159) 2018-01-02 13:20:07 +01:00
Heiko 61de1b6099 Bug fix/optimize shard distribution api and ui (#3921)
* UI: document/edge editor now remembering their modes (e.g. code or tree)

* changed shardDistribution api behaviour, added PUT route to only fetch collection based shard distribution

* ui: optimized shards view, added missing cleanup function in nodes view

* broken test

* shard distribution tests not fit the new api behaviour

* variables as reference

* CHANGELOG
2018-01-02 12:42:12 +01:00
Jan 6040b4ae9f
add ignore-missing option to arangoimport (#4129) 2017-12-22 11:29:10 +01:00
jsteemann b82a32b94b rename test 2017-12-20 11:26:16 +01:00
Jan 52d0a4593e
Bug fix/add recovery tests for intermediate commits (#4108)
* added several recovery tests that check intermediate commits

* small fixes

* fix tests
2017-12-20 09:46:06 +01:00
Jan 2a96df5ca5
Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
Jan e1c13b2130
simply fulltext query handling (#4072) 2017-12-18 13:38:33 +01:00
Jan 3b1453b864
make queue test more robust (#4065) 2017-12-16 15:32:11 +01:00
Jan 3f9918a163
revert broken fix for WITHIN_RECTANGLE, restore the old (non-working) behavior (#4038) 2017-12-14 21:30:28 +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 d1478dbcf6
increase timeout in queue tests (#3981) 2017-12-11 10:32:58 +01:00
Jan f5d71f42d2
added tests and updated documentation for Foxx queues (#3861) 2017-12-08 15:52:45 +01:00
Michael Hackstein 613cc4f749 Reduce planning time of high depth Traversals (#3942)
* Improved the cost estimation of traversals to be independent from max search depth. This fixes #3917

* fix failing test on MSVC
2017-12-08 15:45:08 +01:00
jsteemann 81d3fd604e disable always-failing tests for now
need to fix them soon. @simon
2017-12-06 20:29:44 +01:00
Manuel B 857c64c0d9 Move Statistics into c++ (#3184) 2017-12-06 16:36:52 +01:00
Jan 73b3c65153
fix revision id vs local document id usage in incremental sync (#3887) 2017-12-06 16:33:57 +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 ec7da71287
do not swallow error messages when transactions fail (#3836) 2017-12-06 10:49:28 +01:00
Jan 3261373186
fixed issue #3640: limit in subquery (#3871) 2017-12-06 10:39:42 +01:00
jsteemann 80ff79d0e4 fix issue #3858 2017-12-01 12:47:07 +01:00
Jan 7c5faa85ec
increase timeout (#3859) 2017-12-01 10:04:35 +01:00
Kaveh Vahedipour 7ae1949ef7 Added 503/0 inquire tests to resilience tests (#3839) 2017-11-29 21:40:02 +01:00
m0ppers d9f006cb84 Propagate commit errors to AQL (#3831) 2017-11-29 16:56:01 +01:00
Simon Grätzer 38e9a830a6 Fix occasional Replication Ongoing hiccups (#3743) 2017-11-20 10:30:01 +01:00
jsteemann b60159725a fixed jslint error 2017-11-17 17:28:16 +01:00
m0ppers 278e51e5be Fix stalling inserts...follower was not up-to-date in some cases (#3727) 2017-11-17 17:18:59 +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 Christoph Uhde 6f6d19b1b9 Stricter normalization for filter and sort conditions (#3718)
Moves attribute accesses to the LHS when using <,>,<=,>=
2017-11-16 19:17:12 +01:00
Jan Christoph Uhde 987aea2af3 implement heap merge for cluster blocks (#3617) 2017-11-15 18:05:43 +01:00
Max Neunhöffer 766ab7c8cf
Fix agency shutdown bug. (#3683)
* Fix agency shutdown bug.
* Remove precondition that was not needed in AgencyComm::removeValues.
* Fail fatally if threads do not shut down.
2017-11-14 16:33:46 +01:00
Jan cc1fc716a4 Bug fix/fix server mode test side effects (#3674) 2017-11-14 15:19:00 +01:00
m0ppers 6cbf7159be Feature/server mode (#3590)
* Switching from ttl to supervision based failover mechanism

* Allowing canceling of ongoing actions

* refactored asyncjobmanager

* refactoring some code

* adding read-only flag

* Fixing some bugs

* Fixing tests

* Canceling ongoing operations

* removing some unused code + some asserts

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

* fixing "createsANewDatabaseWithAnInvalidUser"

* Current work

* proper ifs

* Migrate resthandler to c++ and implement mode

* readonly server mode spec test

* Add changelog

* change code so it expects a full object and not just a string

* Fix jslint
2017-11-10 17:56:21 +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
Michael Hackstein 5c633f9fae Bug fix/speedup shard distribution (#3645)
* Added a more sophisticated test for shardDistribution format

* Updated shard distribution test to use request instead of download

* Added a cxx reporter for the shard distribuation. WIP

* Added some virtual functions/classes for Mocking

* Added a unittest for the new CXX ShardDistribution Reporter.

* The ShardDsitributionReporter now reports Plan and Current correctly. However it does not dare to find a good total/current value and just returns a default. Hence these tests are still red

* Shard distribution now uses the cxx variant

* The ShardDistribution reporter now tries to execute count on the shards

* Updated changelog

* Added error case tests. If the servers time out the mechanism will stop bothering after two seconds and just report default values.
2017-11-10 15:17:08 +01:00
Michael Hackstein 2b0aa318ec Bug fix/sparse graph register warning (#3569) 2017-11-10 14:33:15 +01:00
Jan 4a06599adf fixed issue #3618 (#3621) 2017-11-10 12:31:10 +01:00
Jan 2f9982895e potential fix for issue #3562: Document WITHIN_RECTANGLE not found (#3649) 2017-11-10 11:31:12 +01:00
Simon Grätzer 87eb63ce9b Adding documented pregel foxx API (#3620) 2017-11-10 09:40:13 +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 356751bd12 fix a non-deterministic replication test (#3623) 2017-11-09 09:10:19 +01:00
Jan 3f0dd63d2b added test for issue #3473 (#3608) 2017-11-08 17:09:07 +01:00
Jan Christoph Uhde 5a6046874d fixes: geoindex type 1 queries (#3575) 2017-11-07 15:03:45 +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
m0ppers b552853909 Feature/optional replication factor enforcement (#3570) 2017-11-02 21:41:25 +01:00
Simon Grätzer 64e9377c05 Replacing /_api/collection with RestHandler (#3543) 2017-11-02 14:57:17 +01:00
Manuel B edba1e57ce Feature/cpp aql left trim right (#3004) (#3506)
* Feature/cpp left trim right (#3004)

* aql char length null returns now 0

* cpp aql trim and tests

* Update CHANGELOG
2017-10-26 20:21:41 +02:00
jsteemann 376cc7dcad fix replicationFactor value validation 2017-10-26 20:15:50 +02:00
jsteemann 21cbb85867 jslint 2017-10-26 15:46:40 +02: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 c569c1b816 fix test (#3524) 2017-10-26 14:04:41 +02:00
Max Neunhöffer 5e2f17c04f Fast path for get-in-sync of empty shards. (#3470)
* Fast path for get-in-sync of empty shards.

* Fix short cut in synchronization.
2017-10-26 09:55:00 +02:00
jsteemann 7f00bf3b7d next attempt 2017-10-26 09:34:48 +02:00
jsteemann 45f2c4aca7 try to fix non-deterministic test 2017-10-25 21:07:31 +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 9a4703dbde changed test expectations in cluster mode (#3491) 2017-10-25 18:05:37 +02:00
Manuel B 7d4b319c58 cpp aql substring, fixed v8 substring (#3489) 2017-10-23 17:12:45 +02:00
Jan feba30fcec attempt to make replication test more deterministic (#3482) 2017-10-23 14:21:46 +02:00
Manuel B be8c648620 cpp aql collections() and test (#3331)
* cpp aql collections() and test

* remview fixes

* fixed jslint

* fix for new ExecContext / auth api
2017-10-23 11:42:34 +02:00
Manuel B cf0578242f Feature/devel cpp aql matches (#3329)
* matches function header

* aql matches() C++ definition

* cpp aql matches() implementation

* review fixes

* test for v8 / cpp

* aql cpp matches matches behavior of js matches, more tests

* fix cpp matches()

* final fixes
2017-10-23 08:25:55 +02:00
Simon Grätzer fd3f9d99d9 Fixing webinterface access (#3464)
* intermediate commit

* Refactoring the ExecContext

* Fixing authentication

* Added start script

* some fixes

* fixed access to nullptr

* some c++

* fixed misleading message

* Made DatabaseGuard movable. Also adapted map insertions to _vocbase in Syncer classes, which failed to compile under older GCC versions

* added support for global flag to replication handler

* Started Refactoring in replication-static

* Fixing syncer code

* store applier configuration

* Static replication tests now test replication in a non system Database

* added flags to replication feature

* Adding some extra checks

* Fixing issue with rocksdb rest replication handler

* replication static now runs _system and otherdatabase replication tests.

* Fixing crash on startup

* Replication_sync now tests _system as well as other Database

* Fixing up heartbeat thread, adding global flag to rest handler

* Fixing wrong assert

* some cleanup, probably some tests are broken

* Made non-system db version of replication-ongoing tests

* fix determine-open-transaction

* Fixed ongoing tests. And added a test where we drop a database on slave while replication is still ongoing

* test fixes

* Activated ongoing other db tests. Also added a test that drops the DB on master, while the slave is still syncing.

* some better error reporting

* gradually switch to Result

* createCollection -> create

* re-activate using of collection ids for now

* enable auto-start

* Fixed create collection in replication ongoing test

* Added first draft of a test for global replication

* move to Result

* use system database for global applier

* improved error reporting

* fixed invalid URLs

* add test case filter

* load existing global applier configuration

* improve error reporting

* Added further tests for global replication

* Fixed global replication test, it now properly waits for replication. Timeouts after 10 seconds.

* Removed erronious assertion

* improve error reporting

* intermediate commit

* Added a test-case for global replication where the Master already has some data and the slave is clean

* fix deletion of replication contexts

* Fixed JSLint

* compiling code

* fix typo

* do not fail for global applier when no database is configured

* intermediate commit

* syncer supports switch for 3.3 / 3.2

* fixed errors

* Fixing some replication bugs

* Fixing some assertions

* Fixed missing commit markers

* Fixing assertion on database drop

* Attempt to fix deadlock in applier and assertion

* Fixing some stupid things

* Support for collection parameter

* Acidentally turned off some tests

* Grrr

* Fixing wrong method call

* Fixed startscript

* Fixed assignmet instead of equality check typo

* Added a test far interrupted replication. For now it justs tests basics on _system database.

* Improved index tests on replication.

* properly initialize variable

* fixed some replication problems

* MMFiles wal access support

* fix replication issues

* Started mmfiles replication support

* fixing a bug

* Fixing an issue

* fixing some mmfiles stuff

* fix test

* reload users

* prevent pure virtual method call

* intermediate commit

* Making from exclusive

* do not call getMasterState if child syncer

* some reformatting

* Adding global support for handleCommandSync

* Fixing assertion

* removing some debug logs

* Changing return codes

* Fixing some issues in the rest handler

* Make replication less susceptible to errors

* remove some debug output

* return last log tick

* remove waits from tests

* fix two tests

* changing header for open-transactions call

* some fixes

* fix test

* invalidate cached databases

* merging request and execcontext

* try to fix assertion error

* renamed method

* fix compile warning

* small changes

* Always use execcontext

* Fixing an assert

* fix replication issues

* try to fix collection lookups

* try to fix master/slave start

* Changing comments in heartbeat thread

* fix wrong signature of READ_LOCKER_EVENTUAL

* log server role in testing mode

* Fixed authentication, removed execContext in favor of request context

* Adding cluster rest api

* Fixing cluster rest handler

* Fixing cluster callback

* Some refactoring

* Queue creation is not a single operation

* Allowed for leader redirects

* Setting start of batch

* Disabling 2.8 compat tests

* fix start/stop bugs

* jslint

* various little changes

* add flag for exposing jwt

* indentation

* cleanup

* Some changed to guid

* fixing tcp to http, vst

* changed endpoint header

* small fixes

* Reorder servers by health status

* Higher timeout

* Changing error messages

* update the fromTick when fetching multiple batches from the coordinator

* more debug info

* Reducing copy pasted code

* change uid generation

* reducing logspam

* more exceptions for redirects

* more exceptions

* attempt to fix uniqids in cluster

* centralize printing of HTTP errors in replication

* debug output

* fix messages for authentication

* cleanup

* removing --cluster.my-id, --cluster.my-local-info

* Added leadership race to bootstrap, determine foxxmaster on boostrap, removing obsolete code

* improve error reporting in RestAqlHandler

* Changing heartbeat thread, fixing cluster_sync

* some more debug output

* added master

* attempt to make tests more deterministic

* added logging about indexes

* added some safety checks to the logger

* slighty better error messages

* fix location header for SSL

* fix error message

* try to make tests more deterministic

* change error code from TRI_ERROR_INTERNAL (which we want to avoid) to TRI_ERROR_FAILED

* Fixing broken webinterface access

* reverting groovy change

* Fixing read-only internal users

* Using superuser rights for dashboard now

* Adding mode field to _admin/server/role

* added mode TRYAGAIN

* remove inventory lock (does not seem necessary here)

* remove invalid assertion

* fixing agency bugs

* Removing debug output

* return proper errors in case of "method not allowed"

* Fixed up some info messages

* jslint
2017-10-20 18:06:59 +02:00
Jan 7840d3f824 Bug fix/fixes 1810 (#3460)
* improve error reporting in RestAqlHandler

* added logging about indexes

* added some safety checks to the logger

* slighty better error messages

* fix location header for SSL

* fix error message

* try to make tests more deterministic

* change error code from TRI_ERROR_INTERNAL (which we want to avoid) to TRI_ERROR_FAILED
2017-10-19 11:28:01 +02:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Jan 451abcb23d added non-destructive DISTINCT (#3320)
* added non-destructive DISTINCT

* added tests

* update documentation
2017-10-18 12:52:33 +02:00
Jan 0eb59e9bec do not use `_doCount` attribute (which does nothing) (#3454) 2017-10-18 12:43:34 +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
Simon Grätzer a7903495a5 Fix createQueue silent unique constraint violation, Fix asan detection in clang, (#3421) 2017-10-18 12:21:31 +02:00
Frank Celler 8f0f861cc4 disabled corrupted-crc-mmfiles.js 2017-10-15 11:26:02 +02:00
Jan f1497e0df7 fixed issue #3395 (#3399) 2017-10-13 12:25:46 +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
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 43e0fd318e Bug fix/fixes 1909 (#3285)
* remove TRI_ERROR_INTERNAL usage

* prevent assertion failure from occurring

* ensure downwards-compatibility for explain handler

* allow schmutz to drop system collections as well - needed for arangojs tests
2017-09-19 21:56:32 +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
Wilfried Goesgens 2833bd6185 Bugfix/cleanup graphs (#3250)
* when running against an external server also setup the proper connection

* cleanup grahs after testing
2017-09-15 14:20:21 +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
Jan dc46c9db07 more logging so we can find a specific bug (#3247) 2017-09-13 09:19:50 +02:00
jsteemann f8d8a561a4 fix various issues 2017-09-13 09:03:28 +02:00
Wilfried Goesgens b41cfac17c cleanup 2017-09-13 00:00:32 +02:00
Wilfried Goesgens 11437d20a9 fix cleanup 2017-09-12 15:57:33 +02:00
Wilfried Goesgens 0a9b9e6025 cleanup after testrun, lintify 2017-09-12 14:48:20 +02:00
Jan eacad99df7 Bug fix/fixes 0409 (#3199)
* some authentication optimizations...

don't query the permissions for one database three times, and don't build up tons of useless temporary strings for each request

* fix some floating point inaccuracies in AstNode value comparisons
2017-09-04 18:04:05 +02:00
Jan f49e0ca237 execute DOCUMENT function via CXX on coordinator in cluster mode (#3196) 2017-09-04 17:34:24 +02:00
jsteemann b1fd92c438 removed useless explain 2017-09-01 14:14:01 +02:00
Simon Grätzer 88d01b89b5 Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00
Wilfried Goesgens c662dfc863 Cleanup after each testrun (#3109)
* 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
2017-08-30 10:48:24 +02:00
Simon Grätzer 885ea3dd5f Remove attribute option for arangoimp (#3141)
* Adding a remove attribute option to arangoimp (only for csv)

* Adding documentation

* Fixed log statement

* Update CHANGELOG
2017-08-30 10:45:02 +02:00
Kaveh Vahedipour 00650e6a3f Bug fix/agency mt fixes (#3158)
* added debugging methods

* try to fix invalid access in case of error

* remove unused members

* bugfixes and comments

* all agency fixes in

* merge bug

* partially unguarded Agent::lead fixed

* all agency fixes in

* added nrBlocked to thread startup eval

* added nrBlocked to thread startup eval

* recombination of cases in State::get

* some maps replaced with unordered_maps

* optimized maps some
2017-08-30 10:43:51 +02:00
Wilfried Goesgens d0f159e848 Don't use global static variables as collection caches - this may cau… (#3150)
* Don't use global static variables as collection caches - this may cause troubles.

* cleanup: remove old cluster kickstarter UI remaints.

* cleanup - remove references to long gone tests
2017-08-28 15:04:05 +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
Wilfried Goesgens 0c2261445b use indices on our foxx queues queries; Migrate queries away from aqb… (#3101)
* use indices on our foxx queues queries; Migrate queries away from aqb; style guide cleanup.

* update CHANGELOG
2017-08-24 17:06:03 +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
Dan Larkin 5708fc8fab Added test to ensure RocksDB recovers keygen data outside WAL. (#3072) 2017-08-22 10:42:46 +02:00
Kaveh Vahedipour 15a87b2982 removed database loop around rebalancing of shards; thus rebalance shards now only affects current database (#3091)
This is UI only
2017-08-21 17:13:27 +02:00
Jan 47e29e6e1f Bug fix/issues 1806 (#3069)
* fix buffer overruns in linenoise for long input lines

* don't make historian repeatedly print the same error messages that nothing can be done about

* make the implementations of the logging operator<<s not throw exceptions, so that logging does throw exceptions as an unintended side effect

* update CHANGELOG

* improve error message

* don't copy strings, but pass them by const reference
2017-08-18 22:58:09 +02:00
Mark 136faad9b8 Fix issue #3037: Foxx, internal server error when I try to add a new service (#3056) 2017-08-17 21:47:27 +02:00
Jan e612aad2a3 fixed issue #3044 (#3048) 2017-08-17 21:34:57 +02:00
Jan 19d872dcee fixed issue #3039 (#3045) 2017-08-17 21:33:20 +02:00
Jan 1d6b7abc80 fix and extend journal-related tests (#3043) 2017-08-16 17:39:56 +02:00
Jan 6180fcfdd1 Bug fix/prevent multiple journals (#3027)
* prevent multiple journals

* fix documentation

* remove _nrDesired, as it is not used anymore
2017-08-15 23:02:08 +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 Christoph Uhde 0eaf4cabd9 Feature/js to cpp transaction handler (#2985)
* 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
2017-08-11 09:29:34 +02:00
Jan e8d6ff21d0 fix failing recovery test (called undefined function) (#2994) 2017-08-10 09:38:20 +02:00
Michael Hackstein 8b19d63ec7 Merge pull request #2809 from arangodb/bug-fix/trav-filter-optimizer-tests
Fixed Traverser Bug in edge-case where minDepth is lower than filter conditions depth.
2017-08-10 08:44:25 +02:00
Jan 40cbc5ebab Bug fix/fix issue 3011 (#3012) 2017-08-09 17:38:44 +02:00
mchacki 0b4374ead5 Fixed invalid optimisation for variables/references used in traversal 2017-08-09 17:01:18 +02:00
mchacki 3f5c97c8c0 Merge branch 'devel' of github.com:arangodb/arangodb into bug-fix/trav-filter-optimizer-tests 2017-08-09 14:58:52 +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
Manuel B 9c268ec815 aql char length null returns now 0 (#2973)
* aql char length null returns now 0

* Update CHANGELOG
2017-08-08 09:33:31 +02:00
Michael Hackstein a885da6190 Added more test cases for associative filter conditions 2017-08-05 10:35:23 -06:00
Michael Hackstein 67e6b7d9b9 Merge branch 'devel' of github.com:arangodb/arangodb into bug-fix/trav-filter-optimizer-tests 2017-08-05 09:30:46 -06:00
Michael Hackstein 48bbc667f7 Added tests for optimization of mindepth. 2017-08-04 17:59:30 -05:00
Jan 52d5941897 fix potential deadlock errors in collector thread (#2933)
* fix potential deadlock errors in collector thread

* add test
2017-08-03 22:47:24 +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
Simon Grätzer 3f58a44e3b Fix cases where the root user has access to excluded collections (#2856) 2017-08-03 21:16:08 +02:00
Manuel B 9917a8d471 aql upper lower cpp (#2936)
* initial aql upper lower

* aql upper lower test for cpp and v8
2017-08-03 21:10:13 +02:00
Jan 80730cd5f4 fixed issue #2928 (#2934) 2017-08-03 13:39:01 +02:00
Jan 62f9231aa5 Bug fix/predictable results data modifcation multiple fors (#2921) 2017-08-01 17:08:35 +02:00
Manuel B f0a24218e3 Feature/cpp aql char length (#2883)
* redirect aql char_length to length

* aql function CHAR_LENGTH in C++, fixed test

* adding table

* fix crlf

* docu table

* remove alternative fact

* docu

* fix string length calculation for aql length
2017-08-01 15:39:25 +02:00
Frank Celler 8fa8bbe5fd Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/trav-filter-optimizer-tests 2017-07-28 15:20:55 +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
Frank Celler 6613ecda72 Merge branch 'devel' of https://github.com/arangodb/arangodb into bug-fix/trav-filter-optimizer-tests 2017-07-28 09:30:26 +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
Jan 56143bc186 fix issue #2879 (#2885) 2017-07-27 23:30:05 +02:00
Frank Celler 00a6cbab64 fixed jslint error messages 2017-07-27 16:01:45 +02:00
Simon Grätzer 9786b198c2 Allow pregel jobs to interrupt on shutdown (#2855) 2017-07-27 15:29:01 +02:00
Mark 3a59ea553b Add catch when propagateSelfHeal (#2839) 2017-07-19 17:03:52 +02:00
Simon Grätzer f50a36181d Various authentication related issues (#2824) 2017-07-18 22:22:09 +02:00
Frank Celler a692577f5b Feature/auth context (#2815) 2017-07-16 09:39:03 +02:00
mchacki dd13944264 Added some test cases where filter optimization in Traverser could have yield wrong results. 2017-07-15 17:49:00 +02:00