1
0
Fork 0
Commit Graph

1194 Commits

Author SHA1 Message Date
Andrey Abramov a1cfb3d72b Feature iresearch (#4105) 2018-01-19 14:23:58 +01:00
Jan b2b6c06cbf
Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
Jan 25af4d7f69
try to not fail hard when a collection is dropped while the WAL is tailed (#4226) 2018-01-04 16:31:11 +01:00
Jan 2a96df5ca5
Feature iresearch (#4071) 2017-12-18 15:04:59 +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
Jan 282be208cc
remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
Jan b4f6ee9273 Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
Jan 03daf9e9c9 make incremental sync replication API check if the client passed an "offset" request parameter (#3669)
if yes, the server may dynamically adapt the size of the response, in order to ensure that
HTTP responses do not get out of hand size-wise. This is a new feature in devel, and this
commit now makes it optional so that older clients do not need to be changed.
2017-11-13 15:08:31 +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
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
Frank Celler 3d0ab7d396 fixed asserts and check password test 2017-11-05 13:10:47 +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
Jan 4d03d3bd82
Bug fix/fixes 2410 (#3511)
* slightly clean up indexes

* proper stringification of error code

* improve diagnostic messages

* improve memory usage for incremental sync
2017-10-30 22:49:24 +01: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
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
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
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
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
Jan 3350164ec6 a few simplifications and extensions (#3115) 2017-08-24 14:46:16 +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
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
Jan 27dc53b451 Bug fix/cleanup stuff (#2734)
* cppcheck

* remove unused files

* cppcheck just sucks

* add _FORTIFY_SOURCE
2017-07-05 19:34:16 +02:00
Frank Celler bbe7484521 Feature/auth context (#2704)
* added read-only users
2017-07-02 23:15:57 +02:00
Frank Celler 2807ef559c Feature/move shard fix (#2626)
Major overhaul of handling of synchronous replication.
2017-06-26 16:55:01 +02:00
Jan 9396d4d952 fix query execution times that may have different between batches (#2606)
* fix query execution times that may have different between batches

* applied query statistic change to ui

* do not expose state "finished", as it is useless
2017-06-19 17:47:32 +02:00
Simon Grätzer 53ece582a8 optimized all index iterator 2017-05-31 11:34:32 +02:00
Michael Hackstein b9d2faa7cc Added warmup function for indexes.
Squashed commit of the following:

commit bc0472d212b2efef0d7b1b8a36f2b43e8432ba86
Merge: eb47631 5f87674
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 29 09:39:31 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/rocks-index-warmup

commit eb476310b0ca6165be10b37b960933886c2757f5
Merge: d725f21 32149d2
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 29 09:00:41 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/rocks-index-warmup

commit d725f21f7d61f7c79ba31fc0338881e35f4d8f48
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 15:53:23 2017 +0200

    Activated collection warmup in Cluster Mode. Added a test for collection warmup (SingleServerOnly)

commit 132bf4f9565b0dcf4ec9f84e93897b482a67ce7f
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 12:46:20 2017 +0200

    Implemented client-side warmup. It can now be triggered via http and arangosh

commit 78ea449dff86118814a2f87bdb59dc16544d92b6
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:25:40 2017 +0200

    Fixed assertion.

commit dae80f6277dde1a52eadda506858cc36e235bd55
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:08:46 2017 +0200

    Improved the CuckooIndexEstimator computeEstimate function. It is now much better on collections with many different values

commit 7abf57876511ba369d7a577e1995d4575e98c7c8
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:06:43 2017 +0200

    Edge index warmup will now first check if a document is stored and if not will insert it. Furthermore it resizes the cache with an estimate of how many documents will be most likely inserted

commit 890d8ad4cdfd155249f060fedd5c798b9531d556
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 11:04:47 2017 +0200

    Adjusted thresholds in transactional cache. Wastly increased the amount of tries to get the lock. Lowered the fill-grade boundaries

commit 60972ab7151a3acb78e1aae4149de11d0da7aceb
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 10:45:38 2017 +0200

    Added new Logtpopic CACHE that should be used to log important information regarding caches, like debug ouput on evictions / resizing, or memory-pressure resizing going on

commit 2dfacb9aef6e3fde169032514baca386786d059c
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 10:44:21 2017 +0200

    Fixed an assertion in index iterator. It expected _from/_to to be cached but we modified to cache entire document

commit f05beccef65853c30eda1859a39c28ea2295bc71
Merge: 13c6abf 5c46430
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 26 07:56:58 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into feature/rocks-index-warmup

commit 13c6abfbc2ddb451a689011110411df68247435e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 24 09:52:01 2017 +0200

    Added a getExtra feature for the edgeIndex. It now returns the complete edge as extra (temporary). Modified the EdgeCache to cache token and edge document (temporary). Added a warmup Function to collections that is used to warmup the index caches on demand.
2017-05-29 09:40:58 +02:00
jsteemann a7b3839e6c renamed "getMore" to "next" 2017-05-23 08:53:13 +02:00
jsteemann 79cda92a2a move common code into its own file 2017-05-22 17:46:12 +02:00
jsteemann a91c54f6b3 avoid double-copying of shared ptrs 2017-05-22 11:28:18 +02:00
jsteemann 488e4be485 preparation for RocksDB logger 2017-05-09 12:42:25 +02:00
jsteemann 217d41f6f5 fix shutdown races 2017-05-09 10:24:40 +02:00
jsteemann 66ec078bd5 turn off deadlock detector in obvious cases in which it is not necessary 2017-04-27 14:47:19 +02:00
jsteemann c617ebddbf honor return value of TRI_vocbase_t::use 2017-04-26 09:51:40 +02:00
jsteemann a24b5b0763 make more exception safe 2017-04-20 12:54:59 +02:00
jsteemann 08cd4ced33 moved class around 2017-04-07 13:13:48 +02:00
Jan Christoph Uhde 95007fe28e Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api-arango-result
* 'engine-api' of https://github.com/arangodb/arangodb: (46 commits)
  Merged RocksDBPathBasedIndex into RocksDBVPackIndex.
  fix handling of externals
  fix toArray()
  fix returning documents
  Added hash-, skip list, persistent indexes
  harmonize filtering - filter on full filename.
  mini modifications
  standardize starting of servers for replication tests
  Edge index compliant with design doc
  another fix for #2404
  Moved „removeLargeRange“ method to commons
  Added length byte to IndexValue keys.
  fixed issue #2404
  Added drop to primary index
  Added drop() to indexes
  Fixes a coordinator crash in Clustered Traversal. In case of failover during query planning.
  Fixed edge index
  Expand on CORS documentation
  Let ArangoDB handle the allow-credentials header
  make the authentication tests run on directories
  ...
2017-03-30 19:46:17 +02:00
jsteemann 704c746c0d fix toArray() 2017-03-30 17:02:54 +02:00
Jan Christoph Uhde b83ae2ab82 refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
jsteemann 63868b4378 move collection keys into engine 2017-03-21 14:23:29 +01:00
jsteemann ec0e5e39a7 moved export into engine 2017-03-21 11:41:50 +01:00
jsteemann b8e011eee5 move attributes into engine 2017-03-21 10:31:50 +01:00
jsteemann 25a380f77c Merge branch 'devel' of https://github.com/arangodb/arangodb into views 2017-03-16 12:50:11 +01:00
jsteemann 00e99ea794 allow creation of UserTransaction with non-V8 contexts as well 2017-03-15 11:37:03 +01:00
jsteemann 1a06f1e15e initial functionality for views - unstable 2017-03-14 16:35:45 +01:00
Simon Grätzer 7b35f75b23 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/CMakeLists.txt
#	arangod/GeneralServer/GeneralServerFeature.cpp
2017-03-13 12:25:28 +01:00
jsteemann 010478ccd2 removed occurrences of mmfiles 2017-03-09 16:40:42 +01:00
Michael Hackstein a7965945d9 Just comment fixes 2017-03-09 12:20:22 +01:00
Simon Grätzer 2c77f42486 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-03-07 15:08:06 +01:00
jsteemann c2a41cb5a2 remove references to MMFiles* 2017-03-06 17:04:23 +01:00
Simon Grätzer 27c617fe10 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	3rdParty/V8/v8
#	arangod/Transaction/Methods.h
#	arangod/Utils/UserTransaction.h
#	arangod/V8Server/v8-collection.cpp
2017-03-01 14:52:35 +01:00
jsteemann 666b2f8da9 renaming 2017-02-27 14:38:27 +01:00
jsteemann 90f32ed525 renamed classes 2017-02-27 11:40:15 +01:00
jsteemann 94ce6a65f8 renamed methods 2017-02-27 11:22:44 +01:00
jsteemann d0df1952e8 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-24 17:51:59 +01:00
jsteemann dc72ec3ee7 fixed a race when dropping databases 2017-02-23 15:22:50 +01:00
Michael Hackstein aa442fc4ac Removed a velocypack-aliases include from voc-type.h 2017-02-23 13:07:32 +01:00
Michael Hackstein 5d452edec6 Moved ditches into MMFiles. 2017-02-23 09:02:34 +01:00
Michael Hackstein b857717ff0 Removed unused included. 2017-02-22 10:47:20 +01:00
Jan Christoph Uhde d73d25a310 remove some includes 2017-02-21 14:43:21 +01:00
jsteemann f5c8932744 initial version of query execution plan cache, still very rough 2017-02-21 11:58:38 +01:00
Jan Christoph Uhde 6e1f77be24 remove ditches from interface. the ditches concept needs fixing!! 2017-02-21 10:53:51 +01:00
Jan Christoph Uhde f3a1f128ee remove isFullyCollected from LogicalCollection 2017-02-20 10:28:28 +01:00
Michael Hackstein 91f303e963 Removed readRevision from LogicalCollection. You only get readDocument with a token. Moved it's logic into MMFilesCollection. removed the ignoreWal parameter from readDocumentConditional. It was always true anyways... 2017-02-17 17:29:49 +01:00
Michael Hackstein e396446a17 Some cleanup in Logical collection imports 2017-02-17 13:16:22 +01:00
jsteemann 97728e51c1 simplifications 2017-02-15 15:19:40 +01:00
jsteemann 09da6bea7f simplify internal APIs 2017-02-15 12:57:43 +01:00
jsteemann d49c5c3fc0 simplified internal APIs a bit 2017-02-15 12:42:07 +01:00
jsteemann b4027dc02c make property protected 2017-02-15 10:41:34 +01:00
jsteemann df3a3eff9f refactoring 2017-02-15 10:26:05 +01:00
jsteemann 01bf68549d simplifications 2017-02-14 22:48:51 +01:00
jsteemann 12b973dc4b fix my compile errors 2017-02-14 16:41:31 +01:00
Michael Hackstein 50368b9985 Moved CollectionRead/WriteLocker to MMFiles. Also moved cleanupIndexes to MMFilesCollection 2017-02-14 15:12:36 +01:00
jsteemann 0909ffe69b moved helper functions into their own file 2017-02-14 13:44:54 +01:00
jsteemann 7e690a0c61 renaming 2017-02-13 15:18:40 +01:00
jsteemann 16189aa969 moved TransactionHints.h 2017-02-13 14:36:27 +01:00
jsteemann eb73dbf960 renaming 2017-02-13 13:30:57 +01:00
jsteemann f09ec85127 renaming 2017-02-13 12:27:26 +01:00
jsteemann f5d83935f0 renamed class 2017-02-13 10:12:36 +01:00
Michael Hackstein 48166a294c TraversalNode now does not know anything about EdgeIndexes any more. Removed isMMFilesEdgeIndex from Transaction, no obsolete 2017-02-10 18:18:23 +01:00
Michael Hackstein 07154391a2 Removed iteratorForSlice on Indexes and adapted index scan on transaction, because it can now only be used for ANY or ALL scans. 2017-02-10 15:47:24 +01:00
Simon Grätzer edab268572 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/Aql/FunctionDefinitions.cpp
#	arangod/Aql/Functions.h
#	arangod/Utils/ExplicitTransaction.h
2017-02-10 15:21:24 +01:00
jsteemann d024a6d00a remove logging for non-topics 2017-02-10 09:32:50 +01:00
Frank Celler cab6ac044d fixed compile warning 2017-02-08 12:05:32 +01:00
jsteemann 01d3ad67b1 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-08 00:59:16 +01:00
Max Neunhoeffer 883c11ea45 Handle the case that ClusterComm is already shut down gracefully.
This touches every single place where ClusterComm is being used.
2017-02-07 15:31:40 +01:00
jsteemann 2c9e220f03 refactoring 2017-02-07 14:36:03 +01:00
jsteemann d468fffdcb fix problems with rollback 2017-02-07 13:04:27 +01:00
jsteemann 600af50bb1 added convenience method collectionName 2017-02-07 12:05:36 +01:00
jsteemann 4fccb56f93 make TransactionState a class and privatize some of its internals 2017-02-07 11:58:34 +01:00
jsteemann 4a7c3734e0 remove friend class declaration 2017-02-07 11:45:50 +01:00
jsteemann 3b1e3fac52 make TransactionCollection more engine-specific 2017-02-07 11:24:58 +01:00
jsteemann cbea3080c1 privatize TransactionCollection internals 2017-02-07 09:19:06 +01:00
jsteemann 37df6b069e make most variables of TransactionCollection private 2017-02-07 09:09:25 +01:00
jsteemann 27113d2b8c moved function into class 2017-02-07 08:55:20 +01:00
jsteemann ab11410911 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-06 13:05:11 +01:00
Max Neunhoeffer 62521ee617 Fix synchronous replication.
It was possible that a follower got into sync after the list of
followers was retrieved, but before a single document was written.
This dropped this document for the new follower because the leader
forgot to replicate it. This lead to document loss in case of a
failover or planned leader change.
2017-02-03 16:51:51 +01:00
Michael Hackstein 7083671116 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-03 13:22:43 +01:00
Michael Hackstein 5e4b9e42b3 Fixed minor bugs in usage of callback-based index-api. Remove unused old next and nextBabies index iterator functions. 2017-02-03 13:22:06 +01:00
Michael Hackstein 703199bc32 Fixed compiler error from previous commit. 2017-02-02 15:42:35 +01:00
Michael Hackstein d2b82165e2 Replaced trx->all|any with callback based IndexApi. 2017-02-02 15:32:00 +01:00
Simon Grätzer 13f19fe51b Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/CMakeLists.txt
#	arangod/RestServer/arangod.cpp
#	arangod/Utils/ExplicitTransaction.h
#	arangod/V8Server/v8-collection.cpp
2017-02-02 11:25:23 +01:00
jsteemann a1b3bfcc80 dont include ServerState when not needed 2017-02-02 10:16:53 +01:00
Michael Hackstein d920788a7f The new index-callback API returns if it has more elements or not 2017-02-01 17:33:52 +01:00
jsteemann 600bd60edd fix MSVC compile warnings 2017-01-31 17:02:17 +01:00
jsteemann cea0ecabad Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-01-30 09:03:55 +01:00
jsteemann 802c384448 renaming 2017-01-30 09:02:57 +01:00
Michael Hackstein 819ef4ae2c Fixed failing index-creation tests after moving to IndexFactory. 2017-01-28 22:46:49 +01:00
jsteemann 65c45813e2 refactoring 2017-01-27 16:37:02 +01:00
Simon Grätzer 64343cd579 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	scripts/startLocalCluster.sh
2017-01-27 15:58:22 +01:00
jsteemann 4d5875f42f refactoring 2017-01-27 15:57:22 +01:00
jsteemann a1a829451c refactoring 2017-01-27 13:52:23 +01:00
jsteemann 499add4735 refactoring 2017-01-27 12:11:44 +01:00
jsteemann f0d4770879 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-27 11:16:37 +01:00
jsteemann 972496a2af refactoring 2017-01-27 11:16:21 +01:00
Frank Celler e0c00c6de6 improved statistics 2017-01-26 23:43:27 +01:00
jsteemann 3418cc193b refactoring 2017-01-26 17:17:29 +01:00
jsteemann 0cb7d416d0 moved transaction collections into their own files 2017-01-26 16:51:57 +01:00
jsteemann 3cf0ee1329 moved Status into Transaction.h 2017-01-26 16:20:57 +01:00
jsteemann 277f014e9c Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-01-26 15:18:28 +01:00
jsteemann 02d8c0948b renaming 2017-01-26 15:18:23 +01:00
jsteemann 20a2fd308b speed up remove a bit 2017-01-26 12:49:34 +01:00
jsteemann 6a4842b229 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-01-25 16:30:33 +01:00
jsteemann de41509d9d factored out TransactionState 2017-01-25 15:55:01 +01:00
Michael Hackstein 00448bfc26 Transaction::invokeOnAllElements now works with a callback taken DocumentIdentifierTokens instead of IndexElements. 2017-01-25 15:03:08 +01:00
jsteemann 4e0a07411f fix timeout 2017-01-25 13:28:53 +01:00
jsteemann d7b131852c factored out transaction hints 2017-01-25 13:12:09 +01:00
jsteemann 00b1632ece factored out AccessMode from transaction.h 2017-01-25 11:57:21 +01:00
Michael Hackstein 78b83eefc4 Renamed => getMoreMptr in OpCursor to getMoreTokens, Removed default Parameter 2017-01-25 10:46:37 +01:00
Michael Hackstein 15bbfc7b0c Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-01-24 18:22:01 +01:00
Michael Hackstein 2133b1448c Moved index API to return DocumentIdentifierTokens which are independent of the underlying storage engine. The agreement is, that the Engine gives a uint64_t sized identifier which allows to fetch any document back again. For MMFiles Engine this identifier is the revision. 2017-01-24 18:19:25 +01:00
Simon Grätzer 4c370a09fe Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/Cluster/ClusterInfo.h
2017-01-24 16:41:34 +01:00
jsteemann 37b73f7377 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-24 14:06:57 +01:00
Max Neunhoeffer 1ce3e995ee Adjust timeout for sync. replication according to chunk size. 2017-01-24 13:55:19 +01:00
jsteemann 69c3d0ddb9 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-01-24 12:10:22 +01:00
Michael Hackstein 1da0a37e36 Reduced default batchsize for getMoreMptr function. It allocated uint64_max many elements by default ;( 2017-01-24 10:58:28 +01:00
jsteemann e3bcb90916 remove revisions cache 2017-01-24 10:48:07 +01:00
Michael Hackstein 8ebff4a5f8 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-01-23 17:29:00 +01:00
Michael Hackstein dc3a0e984f removed getMore() from OperationCursor 2017-01-23 17:27:57 +01:00
jsteemann c4d2ff3dce renaming 2017-01-23 15:36:11 +01:00
jsteemann 7fedb4e956 moved files into engine directory 2017-01-23 13:52:57 +01:00
Michael Hackstein 92ad574c97 Moved Indexes to StorageEngine 2017-01-23 13:32:23 +01:00