1
0
Fork 0
Commit Graph

3220 Commits

Author SHA1 Message Date
jsteemann d03fb7e01b fix validation for satellite collections 2017-10-26 19:27:25 +02:00
Simon Grätzer 36e51913b3 Changing satellite parameter check 2017-10-26 19:27:18 +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 df5ea8ee2b try to fix another permissions problem when collections are accessed … (#3485)
* try to fix another permissions problem when collections are accessed by id

* added tests
2017-10-25 18:05:17 +02:00
Jan 720e6df82e Bug fix/fixes 1910 (#3471)
* properly initialize all properties

* use faster comparison

* properly detect and handle "method not allowed"

* code-style

* remove unused variable

* narrow variable scope

* handle non-existance of AuthenticationFeature

* remove dead code

* replace some C string handling with std::strings

* moved assertion to the correct place

* honor number of array members for IN operator

* slightly adjust error messages

* slighty adjust some error messages

* try to fix issue with lingering replication contexts on shutdown

* clean up heartbeat thread a little bit

* small fixes
2017-10-23 09:17:36 +02:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Jan 2fee652e77 Bug fix/fixes 1610 (#3425)
* remove memory zone remainders

* remove useless calls

* attempt to fix non-deterministic CRC test

* attempt to fix non-deterministic replication tests

* fix document removal with multiple documents in cluster

* attempt to fix non-determinism of tests

* fix privilege checks for accessing collections by collection id, not by name
2017-10-18 12:23:39 +02:00
m0ppers f9defbfb3f Database info was returning VPack none...was "none" before (#3402) 2017-10-13 12:28:17 +02:00
m0ppers bb1d303473 Cmake 5.0 complains about unused lambda captures (#3390) 2017-10-13 12:20:48 +02:00
Frank Celler b18adbdbd7 added --server.local-authentication 2017-10-08 22:04:52 +02:00
Frank Celler f9cc8543a3 macos/clang does not like constexpr 2017-10-03 22:58:13 +02:00
Frank Celler 4846104bf2 fixed LocalDocumentId (is now a class) 2017-10-03 22:18:07 +02:00
Jan 05d60aedbb fixed some cppcheck warnings (#3360)
[arangod/GeneralServer/AuthenticationFeature.cpp:42]: (warning) Member variable 'AuthenticationFeature::_authenticationTimeout' is not initialized in the constructor.
[arangod/Utils/Authentication.h:49]: (performance) Function parameter 'roles' should be passed by reference.
[arangod/VocBase/AuthInfo.h:47]: (warning) Member variable 'AuthResult::_expiry' is not initialized in the constructor.
2017-10-03 21:25:24 +02:00
Jan 0561bf45ce Bug fix/isrestore (#3283)
* Make isRestore work in the cluster.

This covers sharded collections with default sharding and non-default
sharding.

* always use locally generate revision ids for storing and looking up documents
2017-10-03 11:53:49 +02:00
Frank Celler f240b8bc16 Feature/roles (#3364) 2017-10-03 10:31:18 +02:00
Frank Celler bd5e84a12f added roles to users (#3354) 2017-10-01 21:00:39 +02:00
Manuel B 3f8f4f1d77 proper IEC prefix (#3355) 2017-10-01 09:44:01 +02:00
Simon Grätzer 5bc0be15bc Fixing Cluster Authentication (#3313)
* Adding a missing loadFromDB call

* Various bootstrap fixes

* Fixed revoke error
2017-09-23 15:09:34 +02:00
Jan b4e5132572 fix dropping of system collections and retrieving list of user databa… (#3304)
* fix dropping of system collections and retrieving list of user databases in cluster

* fix MSVC compile warnings
2017-09-21 10:05:46 +02:00
Jan 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
jsteemann 33e3ead888 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-09-07 16:54:23 +02:00
jsteemann 5ee5890649 increase cache lifetime for cluster selectivity estimates 2017-09-07 16:54:01 +02:00
Simon Grätzer ffc465433a No access collections Improvements (#3190)
* consolidated EdgeDocumentToken

* optimizing cluster traversal

* adding skip collection checks

* API cleanup

* copying AQLValue to avoid use-after-free bugs

* Fixing rocksdb SingleServerEdgeCursor

* Fixing a collection resolving issue
2017-09-07 14:55:07 +02:00
Simon Grätzer 06f5cefd9f Handle non-existing user config in RestUserHandler (#3200)
* handle non-existing user config

* fixing possible error with user data
2017-09-04 18:01:30 +02:00
Jan cd2dfdfd0d fix deadlocks in cluster traversals (#3198) 2017-09-04 17:35:24 +02:00
Simon Grätzer 88d01b89b5 Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00
Max Neunhöffer f3acea797b Feature/cluster inventory version (#3152)
* Get rid of a compiler warning in community edition.

* Teach /_api/replication/clusterInventory to report Plan/Version and readiness.

This is first implemented in the ClusterInfo library.
Then the clusterInventory code uses it and checks readiness.
Readiness of a collection means that it is created and all shards
and all replications have been created and are in sync.
2017-08-30 13:34:23 +02:00
Jan 1ace247273 Bug fix/scheduling et al (#3161)
* added V8 context lifetime control options `--javascript.v8-contexts-max-invocations` and `--javascript.v8-contexts-max-age`

* make thread scheduling take into account most of the tasks dispatched via the io service
2017-08-30 10:40:02 +02:00
Simon Grätzer f3eb0c2ac0 No access collections (#3088)
* Added virtual attributes for enterprise on Methods.cpp

* Working no access collections

* align a comment

* Documentation and test fix

* fixing community build
2017-08-25 13:59:03 +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
Jan a212f45a86 Bug fix/issues 2308 (#3117)
* remove API docs for endpoints that were deleted in 3.0

* remove unused variable

* set all scalar values in the ctor, so check tools do not complain

* move Result objects

* prevent potential nullptr access

* remove ambiguous boolean parameter with no clear meaning

* make code check tools happy

* don't allow copying cache Findings, allow moving Results

* the debug functionality for counting RocksDB key ranges was broken

this produced sporadic test failures

* remove superfluous iostream include

* fix range checks

* don't leak if an error happens during database removal

* try to simplify Result a bit

* try to deletion checks a bit more robust
2017-08-24 14:47:22 +02:00
Jan 3350164ec6 a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +02:00
Simon Grätzer b76b53d87a Fix edge cache behaviour (#3079)
* fixing cache resizing bug

* reenabling test
2017-08-22 10:40:52 +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
Simon Grätzer 692a5fbe02 Fix authentication bugs reported by Jan (#2974) 2017-08-08 16:26:23 +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
Kaveh Vahedipour 0b6d6d9287 Fixed distributeShardsLike bug in creating collections. numberOfShard… (#2895) 2017-08-03 19:38:16 +02:00
Jan 62f9231aa5 Bug fix/predictable results data modifcation multiple fors (#2921) 2017-08-01 17:08:35 +02:00
Jan Christoph Uhde ed8efe3566 Feature/issue 387 cluster index estimates (#2866) 2017-08-01 09:53:58 +02:00
Jan e2908060c9 fixed issue #2889, fixed issue #2884 (#2894) 2017-07-28 08:43:21 +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 33a7b8b853 Bug fix/mini issues (#2878)
* ignore some return codes when closing zip files and do not report them

* hide mostly useless debug message

* clear basic authentication cache after deletion of users and after updating them

otherwise deleted/changed users can still access the database!

* adjust wording

* added notes about mmfiles-specific parameters

* updated CHANGELOG and documentation
2017-07-27 11:37:34 +02:00
Jan 6b24529a75 fix small issues found by cppcheck (#2871) 2017-07-26 13:06:31 +02:00
Simon Grätzer 7fd47f7232 Fixing enumerate db's in cluster (#2844)
* Fixing enumerate db's in cluster

* update coordinators
2017-07-19 20:34:15 +02:00
Frank Celler b666fdde0c removed superfluous assert, fixed setting PW via environment 2017-07-19 17:45:21 +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
Frank Celler a5a25754ed Feature/reduce extraction to projection (#2792)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule

* cppcheck

* try to fix compile error on MacOS

* bug fix for MacOSX

* missing namespace (in Windows compile)
2017-07-14 08:40:29 +02:00
Frank Celler 40d73d5a8b Revert "[WIP] Feature/reduce extraction to projection (#2735)"
This reverts commit 5bfcff30cd.
2017-07-12 12:52:14 +02:00
Jan 5bfcff30cd [WIP] Feature/reduce extraction to projection (#2735)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule
2017-07-12 11:22:29 +02:00
Michael Hackstein 2cd48e614b Feature/optimizer rule remove filter covered by traversal (#2731)
* Added a first test for remove-filter-covered-by-traverser rule.

* initial try at adding the functions

* Initial try at fixing all cases

* Fixing optimizer rule order

* Changing rule

* excluding quantifier ANY

* Fixing assertion error

* quick fix for some failed traverser cases

* Fixing quantifier related tests

* Adding upper limit for scannedIndex in cluster

* Fixing the mmfiles asserts

* Allow the coordinator to do condition checking on edges again. Used in enterprise.

* Fix naming of optimizer rules (#2739)
2017-07-10 10:15:17 +02:00
Jan e823f86601 fix small issues found by cov-build (#2746) 2017-07-07 12:36:11 +02:00
Jan a22a9ccb6c fix authinfo caching (#2743)
https://github.com/arangodb/planning/issues/414
2017-07-06 17:31:46 +02:00
Jan Christoph Uhde 562cc77b59 Bug fix/issue 2499 insert 9 instead of 1 (#2727)
* Add testcase to demonstrate #2499

  - In subqueries inserts get pushed to the DB-Servers

  - these create documents documents on each DB-Server that don't respect the shard-key
  
- subsequent deletes will fail to detect the shard correctly and will also fail.

* fix for #2499
2017-07-06 09:53:39 +02:00
Frank Celler 82ffead1cc Feature/auth context (#2721)
* fixed no access ui bug
* grunt
* optimized user permission view
* changed breadcrumb in document view
* optimized user permissions view
2017-07-04 17:32:51 +02:00
Jan 1d944b97a4 fix https://github.com/arangodb/planning/issues/388 (#2714)
also fix jslint issues
2017-07-03 18:41:54 +02:00
Frank Celler bbe7484521 Feature/auth context (#2704)
* added read-only users
2017-07-02 23:15:57 +02:00
Michael Hackstein 79d485d4b9 Fixed a bug to resolve externals in Traversal Condition checker. In some cases the condition was checked against such 2017-07-01 10:59:38 +02:00
Michael Hackstein 6901a9b53f Fixed a misplaced edge filter It checked for a condition on the wrong depth. 2017-06-29 17:03:05 +02:00
Jan Christoph Uhde a0669522c6 fix #277 make use of nextExtra 2017-06-28 13:45:17 +02:00
Jan 017219ace6 fix issues reported by cppcheck (#2660) 2017-06-26 16:31:34 +02:00
Jan 6db520db61 added mutex for traditional keygen (#2663) 2017-06-26 16:30:08 +02:00
Jan cfbd8ed93c Bug fix/rocksdb autoincrement (#2648)
* Added autoincrement keygen support to RocksDB engine with test.

* fixed key generator state keeping for mmfiles engine
2017-06-23 15:27:09 +02:00
Jan 55f16b0651 fix incorrect "id" return type (must be string, not a number) (#2623) 2017-06-21 10:26:04 +02:00
Simon Grätzer 492d832695 Refactored /_api/index and /_api/database (#2582)
* working documents rest handler

* fixed cluster tests

* Consolidating database APIs

* clang-format

* Fixing issue with user creation through db._createDatabase

* replaced and refactored api-index and index api

* fixed cluster

* renaming some files

* added user methods

* removed files intended for later

* Fixed CC build

* Fixed method signature

* Fixing shell_server, shell_client tests
2017-06-19 23:47:40 +02:00
Jan 67016ba560 potentially fixed issue #2559: Duplicate _key generated on insertion (#2593) 2017-06-19 17:44:59 +02:00
Jan 3209490a3f fix locking of JWT cache (#2570) 2017-06-16 09:43:16 +02:00
Michael Hackstein 43c4987023 Adapted the traverser code to make conditions for the used index and for post-filtering non-overlapping. If the post-filtering is empty it is not evaluated at all. 2017-06-09 17:01:26 +02:00
Dan Larkin 8c7ba2aaa3 Changed several index/collection APIs to provide better context messages.
Addresses Issue #342.
2017-06-06 12:27:08 -04:00
Simon Grätzer 634254b80f adding load and unload 2017-06-02 14:44:38 +02:00
Simon Grätzer 51ee57a38f Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-06-02 13:04:00 +02:00
jsteemann a164670ee1 properly delete memory 2017-06-02 12:45:24 +02:00
Simon Grätzer 87de810566 Edge index refactoring 2017-06-02 11:20:15 +02:00
Michael Hackstein 52406567cd Replaced EdgeCursors callback to return cid,rev instead of _id. Does less costly copying and comparision internally 2017-05-31 17:49:46 +02:00
Simon Grätzer 53ece582a8 optimized all index iterator 2017-05-31 11:34:32 +02:00
jsteemann a4fde59fd2 some refactoring 2017-05-23 13:18:51 +02:00
jsteemann 0366fba276 try to fix thread joining for replication applier 2017-05-18 21:05:57 +02:00
jsteemann 8bc6b3d3a1 removed default parameters 2017-05-18 15:06:19 +02:00
jsteemann 6adebcb893 fix access mode in ReplicationTransaction 2017-05-17 11:53:34 +02:00
Simon Grätzer c21bd1eeb8 Rocksb: index locking issue 2017-05-11 15:12:05 +02:00
Simon Grätzer 9950fa7245 removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
jsteemann d352794360 optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
Dan Larkin 037f3f38b9 Removed accidental log spam. 2017-05-04 15:30:09 -04:00
Dan Larkin d77efe38dc Added explicit WAL file lifecycle management to reduce space overhead from replication. 2017-05-04 15:16:24 -04:00
Simon Grätzer cdbea139ce added replication client garbage collection 2017-05-04 18:40:55 +02:00
Max Neunhoeffer b2e6ca3aa2 Translate distributeShardsLike into collection name in dump. 2017-05-02 22:36:15 +02:00
jsteemann 45096dd503 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-02 16:09:35 +02:00
Michael Hackstein cf12573507 Removed code paths that wrote objectIds into the Agency. This did break replication. 2017-05-02 14:59:19 +02:00
jsteemann 910f5680b0 moved files 2017-05-02 12:34:28 +02:00
jsteemann 38fd964f99 fix empty server responses in case invalid users are used
fix compile error
2017-04-27 14:47:20 +02:00
jsteemann f94ef035cb cppcheck 2017-04-27 12:26:13 +02:00
Kaveh Vahedipour 641700399b Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-04-27 10:38:43 +02:00
Kaveh Vahedipour e778604cef distributeShardsLike is not ignored when prototype does not exist 2017-04-27 10:38:07 +02:00
jsteemann 81c629a685 fixed memleak 2017-04-27 08:54:19 +02:00
Frank Celler 33fda9275c Merge pull request #2451 from arangodb/feature/ldap-auth
Feature/ldap auth
2017-04-26 14:12:32 +02:00
jsteemann 664c6fc83c added more marker types 2017-04-26 11:15:33 +02:00
baslr 54e2bd6386 Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-25 14:19:05 +02:00