1
0
Fork 0
Commit Graph

2418 Commits

Author SHA1 Message Date
jsteemann 7d57dead38 use pthread_attr_init instead of memset 2018-07-24 18:09:04 +02:00
Michael Hackstein f7373fe103
Bug fix/lock file cleanup (#5960)
* Added cleanup functions class that allows to execute functions on unexpected shutdown (like FATAL_EXIT). First use: delete the LOCK file. (#5218)

* Removed superfluous log message
2018-07-24 09:43:15 +02:00
Dan Larkin-York 718e3f7bfa Add load balancing support and user restriction for async jobs API (#5906) 2018-07-23 15:23:18 +02:00
jsteemann ed167ddcd4 fix warning 2018-07-23 14:59:05 +02:00
jsteemann d5be86d9ce Merge branch 'bug-fix/rw-lock-changes' of https://github.com/arangodb/arangodb into devel 2018-07-19 11:17:00 +02:00
jsteemann 5c10fc24da fix typo in comment 2018-07-19 10:58:16 +02:00
Simon Grätzer 80baf2bb11 update copyright, use uin32_t everywhere 2018-07-18 23:43:44 +02:00
Jan f4b99bb5ed
Bug fix/meierloch (#5895) 2018-07-17 11:39:50 +02:00
Jan 1a128799f2
finalize `--rocksdb.sync-interval` feature (#5856) 2018-07-17 11:09:57 +02:00
jsteemann e512ad98ef remove unused error code 2018-07-16 17:26:43 +02:00
jsteemann 44c7b1b476 remove tabstops 2018-07-16 15:00:12 +02:00
Jan 201a6a308b
allow turning off statistics feature (#5883) 2018-07-16 10:46:43 +02:00
Jan 2710b19487
properly report out-of-range coordinates in geo index queries (#5880) 2018-07-13 21:26:42 +02:00
shivamdave24 c45a1b6ac1 Soundex function implementation with integration tests and minor bug fixes to feature/add-aql-tobase64-tohex-encodeuricomponent-uuid branch (#5851) 2018-07-13 17:47:25 +02:00
Simran 34ec56d421 Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
Tobias Gödderz fc3e11dbbc Async AQL (#5806)
* Modified header to new initializeCursor API

* Adapted initializeCursor to DONE/WAITING API. Compiles but not tested and no one reacts to WAITING state, it is not returned anywhere yet

* Subqueries now expect a WAITING return from initilize cursor. However they will just return a nullptr and pretend the query is empty, this will be fixed later

* First attempt to simulate thread waiting over information within the query

* Small fix to allow for isDirect handlers to go to sleep.

* Waiting in the necessary places now for the async request to be send.

* Thank you auto-casting compiler, you are totally right i absolutely wanted to use this bool value as an index in may Array. How could i possibly not want to use it here?

* Include cond-var header

* Fixed mutex/cond_var usage

* Added oldAPI wrappers in AQL Blocks for get/skip some variants. This Commit compiles but is NOT tested

* Let getSome now return unique_ptr of AqlItemsBlocks. Also implemented the async variant of getSome in subqueries.

* Removed all references to OLD implementations in AQL. only the base wrappers are allowed to call OLD functions from now on. Now the testing part starts

* Fixed endless virtual recursion

* Implemented new getOrSkip API in SortBlock

* Implemented new getOrSkip API in LimitBlock

* Initilaize all variables

* Fixed logic bug in SubqueryBlock

* getBlock in ExecutionBlock now returns a state. All blocks need to handle this properly!

* Createad a wrapper getBlockOld that servers the old sync api and is used now in AQL. To be replaced overtime.

* Added IndexBlock::skipSome and IndexBlock::getSome

* getBlock now returns its old return value along with the state

* Switch from getBlockOld to getBlock in IndexBlock::skipSome

* Switch from getBlockOld to getBlock in IndexBlock::getSome

* ShortestPathBlock::skipSome is not implemented! Added a regression test

* Attempt to fix SubQueryResult memory management

* Fixed LIMIT Block

* Moved from ShortestPathBlock::getSomeOld to ::getSome

* Implemented ASYNC api on SingletonBlock

* Adapted EnumerateCollectionBlock to new async API

* Fixed FilterBlock and adapted return block to async API

* Adapted NORESULTS block to async AQL api.

* Adapted Modification Blocks to async API

* Fixed some initialize cursor functions to reset values required during get/skipSome

* First steps to adapt ClusterNodes to Async AQL api. Not there yet, need to implement the core still

* Added asnyc implementation for xxxForShard in ClusterBlocks. This commit changes internal logic of _doneForShard. Needs additional testing as soon as everything is in place.

* Adapted CalculationBlock to async API

* Adapted TraversalBlocks to ASYNC Aql. This is not optimal yet, we need a better decission if we are DONE or not on RETURN

* Adapted EnumerateListBlock to Async AQL api

* Adapted RemoteBlock to ASYNC API in getSome/skipSome. The whole thing is now LIVE in the cluster. Exetensive testing to be started now

* Fixed IndexBlock WAITING behaviour if Waiting occurs during a index processing

* Adapted IReasearchViewBlock to ASYNC AQL API

* Fixed SortingGatherBlock in WAITING state.

* Adapted IResearch ExecutionBlockMock to Async API

* Unified the HASMORE/DONE distinction. Code is much more readable now and harder to get incorrect 👍

* Implemented tonly heoretically reachable function of non void function.

* Fixed last commit

* Added inline TODO comments

* fix warning

* Fixed a clearing logic bug in RemoveNodes

* Fixed Error Handling in RemoteBlocks. Also fixed a logic bug (true/false simply has a 50% chance of getting it wrong) in Distribute and Scatter.

* remove unused methods

* Fixed failure test

* implement skipping

* Moved the Query Waiting out of the ExecutionEngine.

* changed one of the collect blocks

* Removed _upstreamState from ExecutionBlockMock, that is in the base-class now

* Added a Test Mock for a an ExecutionBlock that simulates the WAITING/HASMORE/DONE api.

* do not check "hasMore" if not necessary

* Added DistinctCollectBlock::getOrSkipSome from ~Old and changed its return type

(still uses getBlockOld)

* Save state to resume in DistinctCollectBlock::getOrSkipSome

* Extracted redundant code

* fixed some ops

* added one more test

* fix endless blocking

* fix compile error

* fix test

* Refactored HashedCollectBlock::getOrSkipSome

* Return blocks to the manager

* Replaced usage of getBlockOld in HashedCollectBlock::getOrSkipSome

* remove unused shutdown calls, simplify ownership for expressions

* Removed superfluous variable

* Capture const variable by value

* Removed SortedCollectBlock::getOrSkipSomeOld in favour of getOrSkipSome

* Added a working version of SortedCollectBlock::getOrSkipSome

Has yet to be cleaned up

* Removed isTotalAggregation special treatment

* On no input, return a group of nulls (instead of no group at all)

* Bugfixes

* Simplified code

* Move return to the end, eliminate duplicate code

* Corrected skipped count in HashedCollectBlock

* Aligned getNextRow() implementations

* Added comments

* some cleanup

* fix potential memleak

* Bugfix

* Fixed failure tests

* Removed usage of getBlockOld in ExecutionBlock::getOrSkipSome

* Replaced hasMore with an async implementation (mostly)

* Removed getBlockOld()

* Added hasMoreState to the AQL API (and renamed hasMore methods to hasMoreState)

* RemoteBlock now uses the async hasMoreState route

* remove job queue

* options

* Bugfixes in the async implementation of LimitBlock

* LimitBlock::getOrSkipSome now always skips when calculating the fullcount

* fix compile warnings

* restrict threads

* Fixed api of Waiting ExecBlockMock. Unused yet

* Made SortedGatherBlock async-capable

* Removed nonEmptyIndex hack

* Removed duplicate traceGetSome~ calls, moved all to getSome

* Added asserts before replacing getNr*Registers

* Added a TODO note and a comment

* Removed getSomeWithoutRegisterClearoutOld()

* Removed skip()

* Removed common code by using getNr*Registers()

* Use getNr*Registers() in the TraversalBlock as well

* started to add lane

* started to add lane

* added lane

* completed lane

* removed debug output

* fixed merge

* Began working on a test suite for AQL tracing/profiling

* Added more tests and asserts in aql-profiler

* Made some ExecutionBlocks final

* Added a type enum to all blocks and the per-block stats

* Add block type to stats nodes when tracing AQL on block level

* Removed initializeCursor call from instantiateFromPlan

* Avoided additional getSome calls after DONE

* Added more profiler tests

* Refactored ExecutionBlock::getOrSkipSome and fixed two bugs

- set _upstreamState also when skipping
- explicitly use xecutionBlock::getHasMoreState()

* Bugfix: update state

* Reuse parent _skipped wherever possible; rename where not (LimitBlock)

* Simplified SortedCollectBlock::getOrSkipSome and reused general pattern & code

* Implemented missing virtual function (with USE_FAILURE)

* Reset neccessary values during initializeCursor

* Simplified code in EnumerateListBlock a little

* Added a test for DistinctCollectBlock in aql-profiler

* Avoid redundant getSome calls in DistinctCollectBlock

* fix compilation

* Fixed DistinctCollectBlock profiler test

* Added a second profiler test for the DistinctCollectBlock

* Added a profiler test for EnumerateCollectionBlock

* Bugfix in EnumerateListBlock

* added --server.fifoN-size

* Simplified EnumerateCollectionBlock::getSome

* Simplified EnumerateCollectionBlock::getSome, and return HASMORE less often when DONE

* Fix testEnumerateCollectionBlock1 for mmfiles

* do not pass by reference

* Fixed compile error

* fixed merge conflicts

* Added profiler tests for EnumerateCollectionBlock

* Test fix for mmfiles

* Fixed IResearch tests

* Bugfix in DistinctCollectBlock and a regression test

* Updated comment

* Bugfix for query statistics in cluster

* Check plan in distinct test

* Fix aql-profiler tests in cluster

* Removed unused line / bugfix for single server test runs

* This commit implements waking up of AQL queries. (#5651)

* Non-compiling intermediate commit for handover.

* Make branch compile again

* Started implementation of continueable rest cursor handler by moving the callbacks to the outer part. This is not yet fully tested!

* Made finalizeExecute noexcept. We cannot react to this errors as the response was potentially written before. Also introduced continueExecution in the RestHandler engine.

* First successful query wakeup.

* The wakeup callback now posts on the scheduler directly. A resthandler only needs to provide a callback that encapsulates the continueExecution call on this handler

* renamed finalizeExecute to shutdownExecute

* Added a differentiation between Handler and Callback in Query continuation. Handler will be posted in IO service. Callback will be executed directly

* fix audit log

* Removed callback from deleteQueryCursor. This cannot be waiting

* use CONDITION_LOCKER

* removed yet another thread-local variable

* Fixed forward declaration

* Made RestAqlHandler repeatable

* Use defer to close the query in RestAqlHandler. Now waiting will close the query as well.

* Added a mutex in the RestHandlers to make sure if the callback over network is too fast that there is only one Thread running in the RestHandler

* Captured the GeneralCommTask if it is posted to a RestHandler. This is necessary in the PAUSED case

* Refactoring of _noLockHeader responsibilities. Now the BaseHandler selects them and resets them after it is done. Only Coordinators are allowed to define them if a query is loaded.

* Removed reaction to existing nolockheaders in Coordinator Query Planning Phase

* Removed incorrect assertion.

* Further refactoring of NoLockHeaders. Now there is a wrapper class around it which allows for debugging and logging. The state now seems to be better. Also all non-rest-handler triggered queries clean up the NoLockHeaders properly.

* Fixed UserManager, now deletes nolock headers properly

* Swing to the Symphony of Destruction

* Forgot about community build...

* Fixed compiling of Catch tests

* Fixed community build

* need thread for size

* Made the restSimpleHndler repeatable

* Implemented dump and dumpSync in Cursors, Sync will block a thread, dump allows to wait, only relevant for Streaming cursor

* Reactivated StreamingCursors

* Removed debug output.

* Fixed false query continuation

* Reset thread output to non-debug

* Added missing return statements

* Allow some CollectionMethods to hand-in a context that may contain a transaction. This is meant to honor nolock headers.

* Fixed hidden merge conflict

* Bugfix in aql-profiler.js: use plan.nodes order, not stats

* Added two profiler tests for filter

* Avoid too many getBlock calls in the FilterBlock

* Removed debug output

* RemoteBlock API will now send a done(bool) flag whenever we request documents from remote Servers. It is possible that we are DONE and have a result. The pre 3.4.0 API uses exhausted which is exclusive to a result. This API is still implemented for beckwards compatibility.

* Implemented an executeSync function in AqlQuery. This will block the thread until query execution is complete

* Added another test for FILTER, and one test for the HashedCollectBlock

* Added more tests for HashedCollectBlock; avoid unneccessary getSome calls

* Added an profiler IndexBlock test

* IndexBlock: avoid redundant getSome calls, added missing traceGetSomeEnd calls

* Added a second test profiling IndexBlock

* Added a third test for IndexBlock

* Moved general code to module

* Moved noncluster tests into a separate file

* Split aql-profiler testsuite into three files

* Added profiler tests for LimitBlock

* Added a test for NoResultsBlock

* Added profiler tests for TraversalBlock

* Shutdown of an AQL query is now asynchronous. However in Error-Cases it will be executed in a blocking way still

* Optimized TraversalBlock getSome calls due to new (nightly) test results

* Fixed std::min calls I broke

* Let shutdown calls in AQL wait, if the query is executed successfully.

* Fixed queryResult going out of scope

* fix compile error through merge conflict with devel

* Fixed compiler warning "mismatching tags"

* Removed debug log output

* Added TODO notes

* Fixed test fail due to devel merge

* Fixed some invalid sync waiting implementations

* Added a profiler test for SortBlock

* Added profiler tests for SortedCollectBlock

* Fixed bug introduced by devel merge

* Fixed Remoteblocks ignoring errors!

* Added some more continue Callbacks in used places. And removed debug log

* Removed debug log output

* Suppress clang warnings

* Bugfix: use of invalid stack pointer

* Bugfix: RemoteBlock::shutdown now sends code as int, not string

* Revert "Suppress clang warnings"

This reverts commit 05591649c59743c992edd5e78814edc8ca2a83e0.

* Bugfix: cleanup state in RemoteBlock ::shutdown, ::getSome and ::skipSome

* Bugfix in Subquery shutdown: don't skip subquery shutdown when main query shutdown failed

* Allow copy elision
2018-07-09 14:24:10 +02:00
Dan Larkin-York a5ef1e8e86 Finishing touches for cursor load balancer support. (#5787) 2018-07-05 22:48:32 +02:00
Jan b88fde9659
added key generators "uuid" and "padded" (#5740) 2018-07-03 15:23:47 +02:00
Simon 439b12331f Big endian document keys for rocksdb (#5712) 2018-07-03 14:11:22 +02:00
Jan 5af37176d5
add ✓ (#5717) 2018-06-28 20:15:33 +02:00
Jan 825ec2b79f
dont use memory for nonces if not needed (#5638) 2018-06-20 14:28:41 +02:00
Simon 3bec336aff TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
Frank Celler efc030ea87 Feature/remove event loop (#5565) 2018-06-11 11:46:17 +02:00
Max Neunhöffer 7bed3f2df0 Try openssl 1.1 (#5123) 2018-06-08 13:21:31 +02:00
Frank Celler c5ac519d1c Bug fix for Read/Write race [WIP] (#5534)
* added wrapper, added asio_ns
* Temporarily fix condition variable bug in job queue.
* preparation for 3.3 back-port
* clang-format
* removed unecessary check, this is now fixed by stand
* added missing RequestStatistics::SET_READ_END
* cosmetics
2018-06-08 10:51:54 +02:00
Jan e6dcff8360
Bug fix/cleanup 2805 (#5477) 2018-05-29 10:16:48 +02:00
Andrey Abramov 0f0235e8a9
Remove collection dependency from gather node (#5457)
* remove collection dependency

* some fixes

* fix test issues

* add tests for newly created functionality

* fix enterprise test fails

* add comment
2018-05-25 17:26:33 +03:00
Simon ef87bb04a4 Allow RestHandler to pause execution (#5458) 2018-05-25 12:27:14 +02:00
Wilfried Goesgens ee9352c0ce Bug fix/refactor read write locks (#5215) 2018-05-24 21:18:00 +02:00
Jan Christoph Uhde a2dcb6cc5d WIP - start adding optional overwrite to insert operation (RepSert) (#5268) 2018-05-24 19:47:15 +02:00
Jan bf5caf210c
Bug fix/cleanup 2305 (#5437) 2018-05-23 15:45:55 +02:00
jsteemann 37c58e1b40 fix define kirmes 2018-05-23 11:52:30 +02:00
Jan d9373531d5
added new ScopeGuard implementation (#5413) 2018-05-23 11:50:52 +02:00
Jan 8e6d5df129
fixed minor several compiler complaints (#5406) 2018-05-23 11:50:00 +02:00
Jan 30d0d840c2
Bug fix/validate from to consistently (#5434) 2018-05-23 11:41:30 +02:00
Simon 35992ad67b Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
Jan fd1ebd2ee9
remove unused defines from directories.h.in (#5407) 2018-05-22 11:32:46 +02:00
jsteemann cf27c695f9 fix left shift of signed values 2018-05-19 21:59:04 +02:00
jsteemann d46d01c7fb fix date test 2018-05-16 16:20:45 +02:00
Jan 3e4a595137
remove sscanf calls from datetime functions (#5350) 2018-05-15 14:46:29 +02:00
Jan Christoph Uhde 18a3663746 speed up replication (#5226) 2018-05-14 18:32:26 +02:00
Vasiliy 6a53154160 issue 389.2: use static strings for Index definition json attributes, use TRI_vocbase_t references instead of pointers in V8Context, use TRI_vocbase_t references instead of pointers in DatabaseInitialSyncer (#5344) 2018-05-14 19:06:24 +03:00
Simon 17b1a2aafb Rest middleware refactoring (#5332) 2018-05-14 17:43:10 +02:00
Jan 2810b60130
avoid redundant creation of the same regexes (#5343) 2018-05-14 17:36:22 +02:00
Jan fe586dac40
retire some old string functions, and make encode/decodeHex copy less data around (#5313) 2018-05-14 10:06:45 +02:00
Simon 08e355aed8 Simple dump speedup (#5298) 2018-05-09 12:51:04 +02:00
Vasiliy 5d8abce7bb issue 373.2: move toVelocyPack into LogicalDataSource (#5288)
* issue 373.2: move toVelocyPack into LogicalDataSource

* backport: move static DataSource related strings into StaticStrings, add support for registering snapshots on DBServer views
2018-05-08 17:28:39 +03:00
jsteemann 7f8a1cc614 Merge branch 'bug-fix/add-missing-overrides-and-final' of https://github.com/arangodb/arangodb into devel 2018-05-07 23:02:46 +02:00
Tobias Gödderz 8c87f51429 Feature/fix inconsistent distribute shards like job (#4743) 2018-05-07 16:53:08 +02:00
Kaveh Vahedipour 012718d6b5 Bug fix/default stack size on osx too small (#5265) 2018-05-07 16:50:51 +02:00
Wilfried Goesgens 545019ce37 Bug fix/downgrade s2 2 (#5276)
* downgrade s2 for windows compatibility

* undefine constants if they're already there

*     Fix compilation on Windows for S2 and VS 2017. (#5267)

    * Fix compilation on Windows VS 2017 (s2).

    * Improve compilation fix for windows.

* downgrade reference
2018-05-07 16:24:47 +02:00
Simon fdee0544b7 Using asio::io_context::strands instead of locks (#5266)
* initial try adding strands

* working, stable amount of threads

* improve shell_client cluster

* Fixing some accounting for the scheduler

* Fix accounting

* Fixing wrong strand usage

* add missing return

* Fixing thread accounting

* More scheduler accounting issues

* Fixing various things

* Fixing some stuff

* Fixing some stuff

* Some more subtle bugfixes

* Some cleanup code

* fixing some stuff

* adding some more fixes

* Fixing possible issues

* Fixing missing _storeResult

* Fixing some stuff

* Reducing lambda stack, perhaps fixing hangups

* Fix writeunlocker

* Fixing possible issues

* adding some debugging stuff

* refactor sockets

* possible fixes

* Adding more job guards

* Fixin possible bug

* cleaning up some stuff

* working impl

* Remove debugging output

* Fixing build

* fixing import

* Fixing another bug

* removing debug log

* Removing examples

* Reverting scheduler working code

* Cleanup

* Addressing review comments
2018-05-07 15:58:19 +02:00
jsteemann 52de92d334 add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
Jan 4807fdc638
Bug fix/make query string owning (#5255)
* make QueryString owning, to avoid programming errors

* remove unused class
2018-05-03 16:40:50 +02:00
Simon 828f1d423c S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
Matthew Von-Maszewski 9ff6a41236 Add pacing logic to arangoimp (#5238)
* initial check-in of working auto block size tuning for import.  Needs clean-up.
* partial fix in this branch to enable testing, awaiting better fix in different branch.
* move pacing code from findIdleSender to AutoTuneThread object.
* move pacing code from findIdleSender to AutoTuneThread object.  clean up dead code.  add comments about algorithm.
* edits to algorithm discussion
* correct logging level.  add CHANGELOG entry.
* update comment concerning proper usage of shutdown()
* initialize new static member MaxBatchSize.  Correct sendCsvBuffer() call to addPeriodByteCount() since _outputBuffer drained by sendData().
* remove redundant semicolons.  add new static member MaxBatchSize.
* move MaxBatchSize to ImportHelper so both ImportFeature object and AutoTuneThread object can access it.
* minor updates to comments and statics
* add pacing discussion to import manual page
* minor edit
2018-05-02 22:34:04 +02:00
jsteemann c3efc6eab5 fix compilation 2018-05-02 22:01:11 +02:00
Kaveh Vahedipour affe5e1edf missing entry for error 1498 in dat file (#5244) 2018-05-02 17:07:38 +02:00
Andrey Abramov 4649b40b96
Coordinator ArangoSearch view + Execution nodes + AgencyMock (#5160)
* add initial implementation of scatter view rule and node

* add tests for `IResearchViewNode` and `IResearchViewScatterNode`

* add missing check

* modify IResearch execution nodes to use references instead of pointers

* use view id in searialized `ExecutionNode` representation instead of the name

* add cluster mode stubs and checks

* very first attempt to distribute IResearchViewNode

* further implementation of cluster-wide arangosearch views

* fix invalid json format

* add tests for coordinator iresearch view

* allow to retrieve a list of existing views on a coordinator

* more tests for coordinator iresearch view

* some fixes to enable query explanation

* remove Collection dependency from RemoteNode

* remove unnecessary remote ArangoSearch view scatter

* fix explanation appearance

* add some assertions

* minor fixes

* implement IResearchViewCoordinator::updateProperties

* fix view DDL issues

* handle link modifications in DDL operations

* add coordinator implementation of iresearch view links

* fix tests

* further coordinator based view DDL implementation

* further IResearchViewCoordinator implementation

* add initial implementation of AgencyMock

* fix some tests

* code cleanup

* extend test + some fixes

* more tests for IResearchViewCoordinator

* fix tests for IResearchLinkCoordinator

* some fixes after merge

* fix tests

* remove declaration of nonexistent (previously removed) method

* some fixes after review

* remove string duplication

* more tests and fixes

* more fixes and tests

* more tests

* one more test

* fix 'use-after-free' asan error

* fix non-enterprise tests issues
2018-05-02 00:15:11 +03:00
Dan Larkin-York b9d05351fb Parallelize arangorestore using the tools developed for arangodump (#5206) 2018-05-01 10:56:11 +02:00
Tobias Gödderz 192fc46486 Removed ERROR_ARANGO_COLLECTION_NOT_FOUND (#5231) 2018-04-30 18:34:02 +02:00
Jan a7555e0bf3
make arangovpack work without any config file specified (#5224) 2018-04-30 18:33:42 +02:00
Wilfried Goesgens 357ec8ebef prohibit the use of sleep() in the source (#5178) 2018-04-30 10:23:22 +02:00
Heiko bcd33b8ea1 Bug fix/issue 3811 (#4984)
* now checking existence of _from and _to vertices during edge creation
2018-04-25 14:24:24 +02:00
Matthew Von-Maszewski a84f7805ad Feature/mv thread death logging (#5111)
* Initial low level interface for thread crash reporting (and management).
* Add a member version of isClusterRole()
* isolate heartbeat thread creation to new StartHeartbeatThread().  create heartbeat thread even if not a cluster or if an agent.
* update runDBServer() and runCoordinator() to shutdown more quickly by polling isStopping() at additional locations.
* copying updates from different branch / PR
* basic thread crash logging.  Not yet tied into Agency arangod or have any specific threads posting crashes
* make Supervision thread a CriticalThread
* sandwich CriticalThread between Thread and other classes to create long term, repeating thread crash reporting.
* restore code lost upon branch update relating to new startHeartbeatThread() function
* add CriticalThread.cpp to build
* add new runAgentServer() function to loop for Agents.  Make Heartbeat thread derive from CriticalThread.
* remove debug line
2018-04-23 15:50:14 +02:00
Matthew Von-Maszewski dd03ca5dd8 shutdown quicker on db server and coordinator heartbeat threads (#5114)
* shutdown quicker on db server and coordinator heartbeat threads

* Adjust the new condition variable usage to follow normal coding patterns.  Probably was ok.  But why take the chance.  And simplify future maintenance.
2018-04-20 15:00:08 +02:00
Wilfried Goesgens ef6a294a3b if the process to spawn doesn't contain a path, do a lookup in the host path for it. (#5127) 2018-04-18 16:37:47 +02:00
Wilfried Goesgens a6ddeb3782 Bugfix/fix windows warnings (#5121)
* fix windows warnings
* don't use <date/datetime.h> in global scope so it doesn't interfere with iresearch
2018-04-17 15:44:32 +02:00
Jan 0e9fa1a08f
make file locking a bit more sensible (#5012) 2018-04-13 11:06:47 +02:00
Jan e567392e49
improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
Max Neunhoeffer 5d5a44b01b
Do not store name in properties. 2018-03-28 23:29:43 +02:00
Max Neunhoeffer c7b77076a9
Merge remote-tracking branch 'origin/devel' into feature/arangosearch-cluster-views 2018-03-28 23:26:48 +02:00
Wilfried Goesgens a07a0fe990 Bug fix/date function portability (#4972)
* fix casts to use defined bit width
* adjust regex so it also works on elderly compiler infrastructure
* optimized regex
* work around MSVC bit shortage
* howto manipulate logging of the SUT
* improve regexp readability
2018-03-27 16:32:54 +02:00
Dan Larkin-York 38f162e344 Parallelize arangodump (#4356) 2018-03-26 15:55:14 +02:00
Max Neunhoeffer 41661662c3
Check in errors change. 2018-03-26 11:23:30 +02:00
Max Neunhoeffer 790824fd68
Merge remote-tracking branch 'origin/devel' into feature/arangosearch-cluster-views 2018-03-26 10:50:23 +02:00
Wilfried Goesgens a16d4b0109 Feature/cpp aql reverse (#4911) 2018-03-23 09:54:37 +01:00
Manuel B 215777736e Move AQL Date Functions => CPP 2018-03-22 15:22:24 +01:00
Andrey Abramov 48d85506d9 more places to change error codes 2018-03-21 20:14:59 +03:00
Andrey Abramov 01d9baf359 remove TRI_ERROR_ARANGO_VIEW_NOT_FOUND, rename TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND to TRI_ERROR_ARNANGO_DATA_SOURCE_NOT_FOUND 2018-03-17 19:36:14 +03:00
Andrey Abramov 0b37cd1796 fix some issues, add more tests 2018-03-16 17:40:34 +03:00
Max Neunhoeffer 0f46598200
Merge remote-tracking branch 'origin/devel' into feature/arangosearch-cluster-views 2018-03-14 23:24:41 +01:00
Max Neunhoeffer ce8db24975
Add methods in ClusterInfo to create and drop views. 2018-03-14 23:22:44 +01:00
Simon 4b666de5c0 Improve upgrade logic (#4789) 2018-03-12 22:44:09 +01:00
Jan c2cda95ce6
fix file permissions for VERSION file (#4823) 2018-03-12 17:15:36 +01:00
Wilfried Goesgens ca68182970 remove remaining defines of our old usleep usage - (#4814) 2018-03-12 13:41:37 +01:00
Simon 5609cbf517 Deadlock detection uses TransactionID instead of Thread ID (#4787) 2018-03-09 18:35:38 +01:00
Wilfried Goesgens 42d32e08de Bug fix/fix mac wincompile (#4799) 2018-03-09 15:51:54 +01:00
Simon 272859c5fd Replacing js upgrade logic (#4061) 2018-03-08 13:57:30 +01:00
Vasiliy daa1db659c manually-merge: differentiate data-source types by category e.g. LogicalCollection/LogicalView 2018-03-08 13:40:25 +03:00
Michael Hackstein 6f42d062be Fixed false http error codes in timeout case. Also reactivated retry in error case. (#4760) (#4770) 2018-03-08 09:19:16 +01:00
Jan 7a78dde426
forward-port LDAP changes (#4766) 2018-03-06 22:32:53 +01:00
Jan Christoph Uhde 586a66ebbf Fix: #4583 - adds AQL ASSERT and WARN (#4584) 2018-02-26 14:25:24 +01:00
Jan 9d311aac65
do allow input to /_api/aqlfunction choose between (#4603) 2018-02-16 14:10:17 +01:00
Jan d82a9e94cf
remove old, potentially unsafe ScopeGuard implementation (#4576)
use TRI_DEFER instead so there are less variants
2018-02-13 18:13:02 +01:00
Wilfried Goesgens 619155a62d Feature/aqlfunction to cpp (#4573) 2018-02-13 11:50:49 +01:00
Jan 935e2790ad
forward port of replication bugfixes from 3.2 (#4572) 2018-02-12 18:13:51 +01:00
Dan Larkin 934e936bae Fix index selectivity estimate issues with RocksDB engine (#4429) 2018-02-09 16:05:33 +01:00
Max Neunhöffer e20743989b
Stack size at least 8MB on libmusl. (#4529) 2018-02-09 15:03:18 +01:00
Jan b2ceb68205
Feature/small misc optimizations (#4504) 2018-02-08 09:25:07 +01:00
Jan Christoph Uhde a54c581111 try to fix permission issues of "/var/tmp/arangod" (#4457) 2018-02-06 23:17:08 +01:00
Max Neunhöffer 858d875e8b
Further fixes for libmusl completely static build. (#4474)
* Make crc assembler code position independent.
* Fix PIE compilation for libmusl in alpine linux.
* Use backtrace library if found.
2018-02-01 13:38:34 +01:00
jsteemann 6384d1eb67 quick fix to fix MacOS compilation 2018-01-25 16:28:51 +01:00
Jan fe0fca9029
Bug fix/restore unlock (#4387) 2018-01-25 15:56:27 +01:00
Jan 1e116a9f6d
slight cleanup of replication-related code (#4286) 2018-01-17 16:56:40 +01:00
Max Neunhöffer 876cf47202 Changes for libmusl compilation. (#4294) 2018-01-16 09:22:45 +01:00
Max Neunhöffer 666a025b59 Fix a buffer overflow in vst authentication. (#4182) 2018-01-16 00:29:03 +01:00
Jan Christoph Uhde 9c2ebb7bfc remove code that potentially throws from ~WBReader (#4282) 2018-01-15 15:14:55 +01:00
jsteemann 4f57a1c29e fix double-increment 2018-01-11 21:56:56 +01:00
jsteemann f7e34b2d7c fix crashes 2018-01-08 17:02:34 +01:00
Jan 7f860153ba
Bug fix/msvc fixes (#4243) 2018-01-08 11:20:53 +01:00
Jan 92c8d558d1
undefine DEBUG to prevent compile errors in MSVC debug mode (#4237) 2018-01-05 17:27:06 +01:00
Jan b2b6c06cbf
Feature/efficiency (#3736) 2018-01-05 16:51:31 +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 6cb79b164e
change message from "no leader" to "not a leader" (#4134) 2018-01-05 14:50:15 +01:00
Jan bbfb8238b1
clean up generator code (#4191) 2018-01-02 15:26:06 +01:00
Jan 2a96df5ca5
Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
Jan a3d169eb5f
fixed issue #4045: fix misleading error message in arangorestore (#4049) 2017-12-16 15:18:35 +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 4ce91ac16d
fix platform-dependent behavior of TRI_CopyFile (#3988) 2017-12-11 17:51:56 +01:00
Jan Christoph Uhde e6cda07a2a fix windows build (#3958) 2017-12-07 12:06:06 +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 6bdc26e5c9
remove now obsolete remainders of memory management functions (#3820) 2017-12-06 18:43:34 +01:00
Jan 9f8c5488c2
fix Windows ifdefs (#3824) 2017-12-06 18:43:12 +01:00
Jan 29ca87bb0c
fix an unnecessary downcast (#3774) 2017-12-06 16:36:10 +01:00
Jan 79ea9d8291
issue #3741: attempt to fix terminal color output in Windows (#3753) 2017-12-06 16:23:54 +01:00
Jan 86ef7d4018 Bug fix/fixes 1711 obi (#3730) 2017-11-17 16:34:33 +01:00
Jan Christoph Uhde f47057088a Feature/helper code (#3577) 2017-11-17 09:51:32 +01:00
Jan 5abf0c1185 Bug fix/fixes 1511 (#3711) 2017-11-16 14:18:51 +01:00
Jan ba9bc41457 fix some typos in code and docs (#3671) 2017-11-13 17:33:36 +01:00
Jan Christoph Uhde daf98e145e improve rocksdb logging (#3613) 2017-11-11 19:35:27 +01:00
Jan 733f27e997 Bug fix/fix compilation with gxx7 (#3637) 2017-11-10 16:00:57 +01:00
Jan bef52d7dc3
Bug fix/cleanup after cppcheck (#3639) 2017-11-10 13:53:28 +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 151c717d22 fix potential duplicate closing of typed buffer (#3587) 2017-11-07 10:27:51 +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
Simon Grätzer 05d6a9a9f4 Reuse buffers for HttpResponse (#3433) 2017-10-30 17:30:36 +01:00
Jan 3f1f2c3e81 potential fix for issue #3517: several "filesystem full" errors in log… (#3525) 2017-10-30 17:28:59 +01: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
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
Wilfried Goesgens bd8d61c1fa use the c++11 way of sleeping (#3429)
* use the c++11 way of sleeping

* fix unit.
2017-10-16 17:40:51 +02:00
Wilfried Goesgens 2c1e4dae98 remove remaints of libev. (#3372) 2017-10-10 15:01:59 +02:00
Max Neunhöffer d86f27bd19 Bug fix/agency leader timeouts (#3373)
* Send out empty heartbeats regardless of non-empty AppendEntriesRPC.
* Also improve logging:
  Note if a log in the empty heartbeat sending takes > 0.01 s.
  Clearly mark places where a leader resigns in logging.
  Log if no empty heartbeat is sent out.
* Make leader more tolerant w.r.t. incoming AppendEntriesRPC responses.
* Add debug logging for _lastAcked and challengeLeadership.
* Remove some unused code. Do not count ourselves in challengeLeadership.
* Removal of entire activation/deactivation mechanisms in agency
* TRI_microtime up to c++11
* added term to response to sendAppendEntries.
2017-10-06 10:11:51 +02:00
Jan 769b87d7cf added `--log.color` option to toggle colorful logging to terminal (#3356) 2017-10-05 13:36:32 +02:00
Frank Celler f240b8bc16 Feature/roles (#3364) 2017-10-03 10:31:18 +02:00
Frank Celler 206063c8fe fixed type error 2017-10-01 19:18:38 +02:00
Jan 56fab56ff5 Bug fix/issues 2709 (#3333)
* logging improvements

* fixed copy&paste error

* enable assertions in non-release mode

* updated CHANGELOG

* fix --temp.path (was dysfunctional), fix creation of temporary directories and races
2017-10-01 09:43:03 +02:00
Frank Celler 81e0ca8527 added encryption key generator (#3348) 2017-09-30 14:59:27 +02:00
Frank Celler 70e206fc25 terminal codes 2017-09-28 22:23:54 +02:00
Max Neunhoeffer 3a4cf41270 Revert "Revert "rework process handling (#3322)""
This reverts commit d2b62c99d6.
2017-09-28 15:53:19 +02:00
Max Neunhoeffer d2b62c99d6 Revert "rework process handling (#3322)"
This reverts commit c56e4949b9.
2017-09-28 15:25:05 +02:00
Wilfried Goesgens c56e4949b9 rework process handling (#3322)
- migrate the process handling to c++ where appropriate
- move code definition / usage closer together
- add function to portably detect external processes (not spawned by us) and whether we may
- send them signals
- add portable code to send signals to processes
- for linux match what impact a signal will have on the process we send it
- check the status of the process we sent the signal, and return if its non-deadly or the process terminated
- after 8 retries with 1 second sleep send a hard kill.
- killExternal() now returns the same structure as statusExternal()
- don't block signals on spawned processes
2017-09-28 13:35:54 +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
Wilfried Goesgens 83f7903713 Fix temporary directory handling (#3259)
* Fix temporary directory handling

On linux we create a sub directory under the temp directory with our own name and a unique id.
On windows we would only return the configured system temporary directory and not create a subdirectory.
This PR makes windows behave similar to linux.

* Cleanup windows implementation of locating the base temp path

 - don't try to create a temporary file. The calling function will try anyways and fail then.
 - properly check for unsupported characters and bail out.

* changelog

* fix c++ string handling

* remove double directory separators, so later on JS_RemoveRecursiveDirectory() won't trip over them
2017-09-21 10:59:43 +02:00
Jan e8ef1a21b6 fix some issues found by coverity code scan (#3256) 2017-09-21 10:26:59 +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
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 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
jsteemann 0537eb95bc fixes for MSVC 2017-09-01 13:24:44 +02:00
jsteemann 5f9ca3a3e8 potential fix for MSVC 2017-09-01 12:41:02 +02:00
jsteemann 02ac8b0fde fix clang warnings 2017-09-01 12:08:31 +02:00
Simon Grätzer 88d01b89b5 Optimizations for Caches and Graph Traversals (#3169) 2017-08-31 18:33:10 +02:00
Andreas Streichardt 195da55e98 windows implementation was missing 2017-08-30 14:18:04 +02:00
Jan Christoph Uhde 20e1a673fd Feature/planning 499 different error codes for version check (#3118)
* return different error codes for check-version

* Adds data file for exit codes that can be used by ArangoDB applications

* add some exit codes

* better return codes for centos

* add codes in arangod

* remove test code

* prevent re-downloading of starter and other small improvements

* fix some erros

* finish centos

* update urls

* add info about systemd detection

* move further towards a working systemd setup

* set service type to simple

* add arangodb-update-db script

* start work on debian packages

* a db dir that is already in place (former installation) should be reused now

* fix minor bugs

* Implement exit code translation in the windows installer.

* add autogenerated NSIS exit code mapping
2017-08-30 10:47:31 +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
Dan Larkin 6a068d062e Changed some tasks to post through Scheduler instead of directly. (#3159) 2017-08-30 10:41:41 +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 Christoph Uhde df76bbc690 Bug fix/planning issue 514 replication api (#3021)
* add "cluster selectivity estimates" to CHANGELOG

* add some documentation to RocksDBRestReplicationHandler

* fix building with relative paths

* add some more doc

* add some tests for the replication api

* fix RocksDBRestReplicationHandler and add tests

* update documentation

* remove obsolete parameter

* fix error message

* Implementing logger-first-tick, logger-tick-ranges. Fixing dump `chunkSize` documentation
2017-08-22 10:46:06 +02:00
Jan 8e65fbb539 Bug fix/issues 1708 (#3060)
* we must now ignore that datafiles are not sealed

this is because an unsealed datafile may have been produced by
renaming multiple journals to datafiles at server start

* acquire collection count after we have acquired the lock

* count the null byte as well

* fix count value acquisition

* send query fragments to the correct servers, even after failover or when a follower drops

the problem with using the previous shard-based approach is that responsibilities for shards may change at runtime
however, an AQL query must send all requests for the query to the initially used servers.
if there is a failover while the query is executing, we must still send all following requests to the same servers, and not the newly responsible servers
otherwise we potentially would try to get data from a query from server B while the query was only
instanciated on server A.
2017-08-17 21:48:27 +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 e6c6c5acda Bug fix/pre release woes (#2988)
* fixed issue #2982

* updated CHANGELOG
2017-08-10 09:39:28 +02:00
Jan ec5dde49ec remove memset parameter from TRI_Allocate signature (#2993) 2017-08-08 16:07:32 +02:00
Kaveh Vahedipour 0b6d6d9287 Fixed distributeShardsLike bug in creating collections. numberOfShard… (#2895) 2017-08-03 19:38:16 +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 af36f6e7b6 fix spurious unzip errors (#2867) 2017-07-25 22:17:37 +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
Max Neunhöffer 2f874249bb Bug fix/adjust agency comm timeouts (#2765)
* Take out 503 timeouts altogether.
* Overhaul of AgencyComm::sendWithFailover loop.
* Let performRequests optionally ignore 404 coll not found.
* Fix error message "database not found" when AgencyComm failed.
* Add log entries in Agency if locks are acquired too slowly.
* Reexecute the javascript cluster sync stuff even if there was no plan/current change...So failed sync jobs can retry later...
* Cover callbacks in Communicator by lock. This fixes https://github.com/arangodb/planning/issues/370
* Put in delay in waiting for leader in agency test.
* Schmutz logging to heartbeat topic.
* Add more lock time diagnostic in agent.
* Switch on agencycomm tracing in coordinator.
2017-07-13 00:44:28 +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 bee32b6325 properly compact ranges so data actually gets deleted after drop etc. (#2771) 2017-07-11 21:47:16 +02:00
Frank Celler 545e861829 Bug fix/agency prepare leading bug (#2752) 2017-07-08 17:08:30 +02:00
Jan e823f86601 fix small issues found by cov-build (#2746) 2017-07-07 12:36:11 +02:00
Frank Celler bbe7484521 Feature/auth context (#2704)
* added read-only users
2017-07-02 23:15:57 +02:00
Jan 91bce94e5c to be but not to bee (#2708)
that's not even a question
2017-07-02 12:54:21 +02:00
Frank Celler e1e61baee1 fixed windows unsupported assert (#2707) 2017-07-02 09:17:21 +02:00
Jan 9fabcafe0e do not terminate the entire server process if a temp file cannot be c… (#2563)
* do not terminate the entire server process if a temp file cannot be created

* various bugfixes
2017-06-28 23:29:36 +02:00
Jan ba1ef89b94 re-introduce one lock for read/write (#2686) 2017-06-28 15:11:56 +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
Frank Celler 91d08645f7 Revert/ssl fix (#2662)
* Revert "Bug fix/task locking (#2618)"

This reverts commit 0e0bf7aae3.

* Revert "fix races in SSL communication (#2591)"

This reverts commit b32db87b67.
2017-06-23 17:07:34 +02:00
Jan 3512745d10 added wrapper for fdopen (#2645) 2017-06-22 19:38:08 +02:00
Jan 85752ce391 try to make it work on older Linux kernels (pre 3.4) (#2642) 2017-06-22 14:23:04 +02:00
Jan 3320052f5d do not include our datafiles in core files (#2630) 2017-06-22 12:34:27 +02:00
Jan 9d10c76e3e fix lockfile-related messages (#2639) 2017-06-22 12:33:46 +02:00
Jan 921ab97bd5 fix compile warnings with newer compilers (#2604) 2017-06-22 12:28:19 +02:00
Jan 0e0bf7aae3 Bug fix/task locking (#2618) 2017-06-20 16:53:20 +02:00
Frank Celler b48583e68f added request-source (#2599) 2017-06-18 22:56:05 +02:00
jsteemann b334a6132c Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-06-09 14:51:20 +02:00
jsteemann ad9fa2bd78 cleanup error codes a bit 2017-06-09 14:50:05 +02:00
Max Neunhoeffer 29921d32a8 Fix behaviour of synchronous replication in dropFollower case.
If we are already in shutdown, we do not drop a follower.
If we cannot drop a follower (no contact to agency), we error out.
2017-06-09 13:06:02 +02:00
Andreas Streichardt 7250ba29ee Disable communicator and abort all requests when shutting down 2017-06-08 11:58:15 +02:00
Andreas Streichardt cb5fc03b60 Fix windows build 2017-06-07 14:50:46 +02:00
jsteemann 3bc320513d micro optimizations 2017-06-07 13:23:37 +02:00
jsteemann f7b56e33c9 honor result of stat() call 2017-06-07 13:21:07 +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
jsteemann 520a315c23 removed wrong assertion 2017-06-06 15:36:47 +02:00
jsteemann c05421e1aa some small optimizations 2017-06-02 17:34:03 +02:00
Kaveh Vahedipour da0cc3490c Squashed commit of the following:
commit 3d9cf792912db1974b9ac5e00ca2b4c9245b7d34
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Fri Jun 2 15:32:43 2017 +0200

    optimise for single writes in agency log

commit 65056ab9026f9b4b211dda0f17c75602b978f2bf
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Fri Jun 2 15:01:15 2017 +0200

    More tests, taking agency log compaction interval into account.

commit 6600d707784e8fd5b62c0c75fd1826af09b8e13f
Merge: cf46882 02f00cc
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Fri Jun 2 14:50:38 2017 +0200

    Merge branch 'agency-log-compaction-overhaul' of ssh://github.com/ArangoDB/ArangoDB into agency-log-compaction-overhaul

commit 02f00cc271d027f02b0625afb76745bfa76bf833
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Fri Jun 2 14:34:41 2017 +0200

    compaction step and keep size defaults for 3.2

commit 03fc8fbff8f0ac701f7d7f94521c0c3152dd6f92
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Fri Jun 2 14:32:46 2017 +0200

    Constituent fatally exists if eletion ballot cannot be persisted

commit cf4688226fc897e74bb2d9ebdfca3ce4578c3b70
Merge: c727fc4 724bd1e
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Fri Jun 2 13:08:15 2017 +0200

    Merge branch 'agency-log-compaction-overhaul' of ssh://github.com/ArangoDB/ArangoDB into agency-log-compaction-overhaul

commit 724bd1efe19e2e9dbfc14cd819f180816b6d62d0
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Fri Jun 2 13:02:51 2017 +0200

    persistence success in agency state is properly evaluated

commit c727fc48bb93e7b135b3ca929c03221c7bcaddb9
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Fri Jun 2 12:04:55 2017 +0200

    Set default compaction step size in agency to 20000 and 10000 keep size.

commit ded16ae6945e9c1479e99bc2e7ccb4d6feca19a6
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Fri Jun 2 11:11:12 2017 +0200

    Fix help page in startStandAloneAgency.sh for --use-persistence.

commit 13ae9f40f649a8f92eeca4b16bbb5647b540722d
Merge: 834c7c9 aa3e8c1
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu Jun 1 23:41:34 2017 +0200

    Merge remote-tracking branch 'origin/devel' into agency-log-compaction-overhaul

commit 834c7c920d36db3579def66c38fb04870936f8bd
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu Jun 1 16:56:03 2017 +0200

    Handle error in recvAppendEntriesRPC properly.

commit bd9c8d03b76ad25d4078740b5bf994fdba3845d0
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu Jun 1 16:55:35 2017 +0200

    Handle errors in persist() and log() properly.

commit 5b4d2c3d9af078d6a1b5626af20dc9abf2546baa
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu Jun 1 16:25:22 2017 +0200

    Improve error reporting.

commit d60697c5f26d6592eecefc9b9a43e9b699d1773d
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Thu Jun 1 12:16:39 2017 +0200

    Agency must not responds to any requests after startup util leader has RAFT commited up to pre shutdown state

commit 92b8ede5fa022ace1596607abcf8fad1130504c8
Merge: 9340e74 d24455c
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Wed May 31 16:54:45 2017 +0200

    Merge remote-tracking branch 'origin/devel' into agency-log-compaction-overhaul

commit 9340e7461130a4783c09ad8d91e5a07f9500a045
Merge: 7b7ce9d 63a9d60
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Wed May 31 12:13:55 2017 +0200

    agency tests to cover compaction

commit 63a9d604c474eda4302032629dff1f0f69fa0813
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 31 11:59:11 2017 +0200

    Set agency.compaction-keep-size to at least 0.

commit ef842260968a4769d9502a701b7251da32647e52
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 31 11:49:34 2017 +0200

    Fix agent size 1 case (thread already gone).

commit 7b7ce9d79f6e8208c13f153b1b9a395b780d6ce1
Merge: 24e2e7e ff306bf
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Wed May 31 11:39:58 2017 +0200

    Merge branch 'agency-log-compaction-overhaul' of https://github.com/arangodb/arangodb into agency-log-compaction-overhaul

commit ff306bf547bc4f528c9b66e222271ac143029508
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 31 11:11:06 2017 +0200

    Move compaction into the future when we take a snapshot from leader.

commit 24e2e7e00f960928a79ce4008b8031d6b9b07fd9
Merge: 84034ac b3ea17a
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Wed May 31 11:01:13 2017 +0200

    Merge branch 'agency-log-compaction-overhaul' of https://github.com/arangodb/arangodb into agency-log-compaction-overhaul

commit b3ea17a219baa2abd5892819012fb59f440cdeb8
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 31 09:42:59 2017 +0200

    Get rid of double nonsense.

commit 035c8d1b34e1b73a381d5468422adf13b2ebc36a
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 31 09:25:28 2017 +0200

    Sort out Agent::load sequence.

commit 84034ac2809a77145d6b1d23bf44857b3a0c4651
Merge: eb34a2e 3180a9d
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Tue May 30 17:07:20 2017 +0200

    merging in

commit eb34a2e64e6ac8dc6571b92cb853c38b7022c833
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Tue May 30 16:58:05 2017 +0200

    keep persistence for restarts in standalone agency

commit 3180a9d9ce4a4401a55ef02606b020316d43cbe5
Merge: 5d60524 28b9580
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Tue May 30 16:56:56 2017 +0200

    Merge branch 'agency-log-compaction-overhaul' of ssh://github.com/ArangoDB/ArangoDB into agency-log-compaction-overhaul

commit 5d60524429d8ddda4491beecb931c3b9e3cc1d8a
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Tue May 30 16:56:36 2017 +0200

    Implement snapshot sending in AppendEntriesRCV.

commit 28b958054f51c9cb36706df4e4345aa0f726ed15
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Tue May 30 14:20:13 2017 +0200

    state machine should not advance _committed if empty

commit df18f326acea7f5bc2660a37e22f1503952e4b41
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 23:39:47 2017 +0200

    Store term with compaction snapshot, recover again.

commit 2551a48b6fb513c9ea934bce755f8c364dae2f05
Author: Kaveh Vahedipour <kaveh@vahedipour.de>
Date:   Mon May 29 17:45:26 2017 +0200

    indices renamed to closely match RAFT documentation

commit e62dcdecf6e8650cfa5725d91b809d05591b48a4
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 16:37:43 2017 +0200

    More cleanup.

commit 9f4787c46621375f0361138a8961431eb21ce5c0
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 14:50:25 2017 +0200

    Revise loadLastCompactedSnapshot to return 0 without a snapshot.

commit 13285e1d70c8a4ac8c79a08de6f8fbc0f8d242bf
Merge: 3393c43 6c5f23e
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 12:06:20 2017 +0200

    Merge branch 'agency-log-compaction-overhaul' of ssh://github.com/ArangoDB/ArangoDB into agency-log-compaction-overhaul

commit 3393c43c75520c74d20df09c74fbbbd8b1af5976
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 12:03:47 2017 +0200

    More cleanup around Store::apply and friends.

commit 4ccb41d1839748c98e11403fa04f6a7d6af5e95b
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 09:45:41 2017 +0200

    Document apply methods in Store with comments.

commit ea05c4880fedb6fe535e24761ac5cb3c26ccfc20
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 09:45:18 2017 +0200

    Intentionally keep one log entry more to prevent empty log.

commit 67fb62f2259cc3c6368319917c7257ebcc177d3f
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 09:44:42 2017 +0200

    Improve plausibility checks at compaction time.

commit 0bafc368785b15a94f8783c4c929f4208f87d09c
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu May 25 00:51:51 2017 +0200

    Sort out (re-)building of agency K/V store(s) from compaction snapshots.

    This is in case of (re-)start, becoming a leader and when serving
    /_api/agency/store.

commit 46b0750bc6c597ec388aac0cdca32082c0cc54b8
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu May 25 00:50:54 2017 +0200

    Set compaction interval to 200 and keep to 0.

    This is way to small but tests should run with it.
    Will later increase numbers again.

commit 024dc0846ae30248b464dd481a8bbc1134f56983
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 24 23:29:57 2017 +0200

    Add a trivial test for agency log compaction.

commit e12fd3b46833419d7b436eeadd7246304324b891
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 24 23:26:03 2017 +0200

    First part of cleanup of agency log compaction.

    Now the right compaction snapshots are taken and persisted.
    Furthermore, the right log entries and old snapshots are removed
    after compaction, both the volatile and the persisted ones.
    The readDB and spearHead stay unchanged at compaction time as it
    should be.

commit d59901aea0c3ca31ef253299d2adc3353b79e664
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 24 12:18:26 2017 +0200

    Remove unused member variable.

commit 6c5f23eb7b42d9f20d4dadb2932a63add99f9c76
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 09:45:41 2017 +0200

    Document apply methods in Store with comments.

commit 670899f72d215e0fcc0ca0389cea9250a291e83b
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 09:45:18 2017 +0200

    Intentionally keep one log entry more to prevent empty log.

commit 660f61029917bbc2ce1fae3e4fc903095b023297
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Mon May 29 09:44:42 2017 +0200

    Improve plausibility checks at compaction time.

commit e2802e4b36d1f67d8361c1d8b0c92fbff696f439
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu May 25 00:51:51 2017 +0200

    Sort out (re-)building of agency K/V store(s) from compaction snapshots.

    This is in case of (re-)start, becoming a leader and when serving
    /_api/agency/store.

commit 12b43f1b91284a1185390d6dcfbd1e838522d392
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Thu May 25 00:50:54 2017 +0200

    Set compaction interval to 200 and keep to 0.

    This is way to small but tests should run with it.
    Will later increase numbers again.

commit c8b9a37a690b8e7e8bfa1276a3f9ba4b6b5a9c27
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 24 23:29:57 2017 +0200

    Add a trivial test for agency log compaction.

commit cf0c8c1fff666f76411082f87efe685a412ecebb
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 24 23:26:03 2017 +0200

    First part of cleanup of agency log compaction.

    Now the right compaction snapshots are taken and persisted.
    Furthermore, the right log entries and old snapshots are removed
    after compaction, both the volatile and the persisted ones.
    The readDB and spearHead stay unchanged at compaction time as it
    should be.

commit 0a4255359a57b8686133e6014e2b82b8079f36fa
Author: Max Neunhoeffer <max@arangodb.com>
Date:   Wed May 24 12:18:26 2017 +0200

    Remove unused member variable.
2017-06-02 16:13:03 +02:00
Jan Christoph Uhde e0f608f219 check endianess when storing ints 2017-05-31 10:52:32 +02:00
Jan Christoph Uhde 868966a71a Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
* 'devel' of https://github.com/arangodb/arangodb: (25 commits)
  Revert "Implement shardorganizer...Cluster with 1 DBServer possible again"
  remove unused variable
  Move FM.listJson into aardvark
  Remove unused legacy FM test
  Implement shardorganizer...Cluster with 1 DBServer possible again
  Make sure the bundle doesn't exist before loading it from db
  More meaningful object logging
  Response -> IncomingResponse
  Updated plain cache to properly count evictions.
  More realistic binary document test
  Simplified Foxx self healing (#2511)
  fix superfluous re-creation attempts for collections
  Made shortest path OOM test deterministic
  added documentation
  sync ENGINE file
  adjusted ui to internal cluster api
  fix usage of su
  Fixing various issues
  Fixing catch test
  fixed vertexId getter
  ...
2017-05-31 09:04:25 +02:00
Jan Christoph Uhde 5872a4c2b1 add functions for endianess conversion 2017-05-31 09:04:07 +02:00
Andreas Streichardt dded5abb6c Merge remote-tracking branch 'origin' into shardorganizer 2017-05-30 20:17:07 +02:00
Alan Plum cceccf59da Simplified Foxx self healing (#2511)
* Implement new self-heal
* Add error codes for 503, service missing/outdated
* Detect changes to service via rev
* Pretty print incoming response object in log
2017-05-30 18:27:32 +02:00
jsteemann 3dab019067 sync ENGINE file 2017-05-30 16:39:30 +02:00
jsteemann 4adbc5ef97 prevent macro redefinition 2017-05-29 17:35:20 +02:00
Frank Celler ee1c60c67a added _binaryDocument and _binaryInsert (#2506) 2017-05-27 22:49:22 +02:00
Frank Celler 4800a8b7f6 Feature/hugepages (#2497)
* enabled checks for memory management

* added MADV_NOHUGEPAGE

* added documentation about NUMA and file systems
2017-05-25 16:04:23 +02:00
Andreas Streichardt b70644440b Do not allow creation of user collection when there are not enough
servers
2017-05-24 18:04:35 +02:00
Andreas Streichardt 360f082087 GetVersion() is deprecated 2017-05-24 10:58:15 +02:00
Wilfried Goesgens 77f1c66a0f enable colors on recent enough windows versions 2017-05-23 18:18:07 +02:00
jsteemann 27a8adf9b8 moved shell colors into their own feature 2017-05-23 16:53:43 +02:00
Wilfried Goesgens 48505fba63 fix calculation of windows paths 2017-05-23 14:04:57 +02:00
Wilfried Goesgens e08c09cbdb fix calculation of windows paths 2017-05-23 13:33:22 +02:00
Wilfried Goesgens c8b6d831ed fix calculation of windows paths 2017-05-23 13:31:20 +02:00
jsteemann bbdb191797 remove unused error code 2017-05-22 13:53:10 +02:00
jsteemann a91c54f6b3 avoid double-copying of shared ptrs 2017-05-22 11:28:18 +02:00
jsteemann 7b924d8f33 pass by const reference to avoid copying 2017-05-22 11:27:55 +02:00
jsteemann 8858b81e2b fixed issue #2490 2017-05-22 09:40:08 +02:00
Andreas Streichardt 9bfb16e4d5 Carrot fix to allow foreground logging on windows 2017-05-19 17:44:24 +02:00
Andreas Streichardt d68aa00ed4 On windows do not allow standard input on external processes without pipes
dfdb test can now be executed on windows
2017-05-19 14:23:33 +02:00
jsteemann adbe81d45d fix adler32 function 2017-05-18 15:40:35 +02:00
jsteemann 61854bb73d adjust error code from lock timeout to conflict 2017-05-18 10:34:41 +02:00
jsteemann 226920d7fa optimizations 2017-05-17 23:41:16 +02:00
Andreas Streichardt b5365c5003 Windows warning 2017-05-17 14:53:58 +02:00
Alan Plum 819a1194ba
Throw correct errors in Foxx management internals 2017-05-17 12:22:16 +02:00
Alan Plum 5d017d733c Improve Foxx cluster resilience (#2479)
* Improve Foxx cluster resilience

Fixes #2083
Fixes #2384
Fixes #2408
Addresses #1892

* Port old Foxx API

* Implement single-file services

* Add console.errorStack/warnStack/infoStack helpers

* Simplify serviceInfo validation

* Extract github/upload logic into Aardvark and old FM API
* Move generator logic into Aardvark
* Move zip/js buffer logic into FM core

* Add Foxxmanager tests

* Send empty response when no README

* Disambiguate script arg format

Historically we allow passing an array of positional arguments or an arbitrary first argument.
This is surprising behaviour, so we should just always treat the value as a first argument.

* Rebuild bundle in development mode

* Nicer HTTP docs formatting

* Create Foxx HTTP docs

* Simplify service upload handling

* Remove inline swagger docs

* Implement public download route

* Consistency

* Rebuild aardvark

* Move bundle route into /_api/foxx/_local

* Rebuild Swagger API docs

* Add changes to CHANGELOG

* More docs
2017-05-16 17:41:29 +02:00
Andreas Streichardt 365de45f07 Add bye bye messages 2017-05-12 17:59:36 +02:00
jsteemann b848030818 enable rocksdb logger 2017-05-12 12:03:54 +02:00
Simon Grätzer c21bd1eeb8 Rocksb: index locking issue 2017-05-11 15:12:05 +02:00
Simon Grätzer f101e21328 Geo index update, renaming 2017-05-11 13:19:51 +02:00
jsteemann 6a12272673 cppcheck 2017-05-10 18:24:34 +02:00
Simon Grätzer d8053a9bcf Fixing fulltext deduplication 2017-05-10 16:17:46 +02:00
jsteemann 488e4be485 preparation for RocksDB logger 2017-05-09 12:42:25 +02:00
jsteemann 1bfc52d800 suppress non-error warnings on shutdown 2017-05-09 12:40:45 +02:00
jsteemann 51b5dbbe57 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-09 10:25:53 +02:00
jsteemann 217d41f6f5 fix shutdown races 2017-05-09 10:24:40 +02:00
jsteemann 7db04133dd move RocksDBLogger code into cpp file 2017-05-08 23:53:04 +02:00
Andreas Streichardt 6ffd2f6da2 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-08 20:33:20 +02:00
jsteemann 7577fed6fb added logger 2017-05-08 18:24:40 +02:00
jsteemann 37a6dd2a81 remove unnecessary includes 2017-05-08 15:59:33 +02:00
jsteemann 5e5aa50bb7 remove obsolete comment 2017-05-08 15:57:20 +02:00
jsteemann d47a506bcc slightly improve error messages 2017-05-04 23:17:26 +02:00
Andreas Streichardt f72b0eac05 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-05-03 23:32:02 +02:00
jsteemann dae15d774c honor unaligned memory access issues 2017-05-03 11:05:51 +02:00
jsteemann e58dddd566 debugging 2017-05-02 17:19:38 +02:00
Kaveh Vahedipour cb2420d7f5 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-04-28 11:57:28 +02:00
Kaveh Vahedipour c51e144678 ASAN runtime errors 2017-04-28 11:57:20 +02:00
jsteemann 8d5248932b lock unification 2017-04-28 09:12:31 +02:00
Jan Christoph Uhde 5fa2cffc63 fix warning 2017-04-27 15:51:19 +02:00
Jan Christoph Uhde 837763097a fix windows warning 2017-04-27 15:12:30 +02:00
jsteemann 8b7fe79ebb added isLocked() flag for ConditionLocker 2017-04-27 13:01:30 +02:00
Simon Grätzer fa15b43088 Fixed typedefs 2017-04-26 19:27:11 +02:00
Simon Grätzer 29286a9c1b RocksDB WAL entries for transactions 2017-04-26 18:54:55 +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
Simon Grätzer d228a94462 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/Replication/InitialSyncer.cpp
2017-04-26 11:06:09 +02:00
baslr f45a7f07b1 Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-26 10:52:50 +02:00
jsteemann 4289105eb3 fix shutdown issue 2017-04-25 16:09:01 +02:00
jsteemann 7344a03623 fix crashes 2017-04-25 15:47:11 +02:00
jsteemann bd5737c5e7 try to fix shutdown issues when collection opening thread is waiting forever for scheduler to finish 2017-04-25 14:20:00 +02:00
baslr 579718ad37 Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-25 11:18:07 +02:00
Frank Celler f94df236a3 added 'x-content-type-options: nosniff' to avoid MSIE bug 2017-04-24 18:47:56 +02:00
baslr 9a78fc650b Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-24 15:37:18 +02:00
Kaveh Vahedipour c9c4f6ccef Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-04-24 15:13:52 +02:00
Kaveh Vahedipour ccc388a940 more dictributeShardsLike code mergedfrom 3.1 2017-04-24 15:13:40 +02:00
Wilfried Goesgens ea3075e817 comment out the windows unhandled exception handler 2017-04-24 15:13:40 +02:00
Kaveh Vahedipour c099c6daa9 more dictributeShardsLike code mergedfrom 3.1 2017-04-24 15:12:38 +02:00
baslr 3d9f58bb70 Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-24 12:45:35 +02:00
jsteemann 1df46f8923 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-04-21 16:59:32 +02:00
Kaveh Vahedipour 1f81ce28b0 merge in cpp & js from 3.1.18 yet to do tests 2017-04-21 15:41:05 +02:00
jsteemann c5854d050b fix shutdown issue, modernize thread creation a bit 2017-04-19 16:57:53 +02:00
baslr 42ad1a8480 Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-19 16:08:14 +02:00
jsteemann bda09ab9bd Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-04-19 08:34:57 +02:00
jsteemann 5f8d9c4eb8 attempt to fix synchronization 2017-04-18 15:33:56 +02:00
Michael Hackstein 1087065ea5 Merge branch 'devel' of github.com:arangodb/arangodb into engine-api 2017-04-13 17:34:25 +02:00
baslr d4ae94f937 Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-10 17:14:37 +02:00
Jan Christoph Uhde c82fadc863 prepare limitation of transaction size 2017-04-10 14:00:55 +02:00
Frank Celler 50cfd9883e added missing nullptr check 2017-04-10 09:23:30 +02:00
Wilfried Goesgens 6ab23bd56d better detect cygwin i/o 2017-04-07 14:00:35 +02:00
Wilfried Goesgens 2da0e41466 add detection for cygwin/ssh ttys 2017-04-06 18:57:19 +02:00
Jan Christoph Uhde 60956dc09c fix windows build 2017-04-06 10:17:17 +02:00
Michael Hackstein 039c6fbd16 Moved all logic of lib/Basics/PathFinder into seperated files in arangod/Graph. Preparation to detemplatify this code as we need some arangodb interna in it for Slice mangement 2017-04-05 15:31:44 +02:00
jsteemann 9f330881a2 constify method 2017-04-05 09:00:06 +02:00
jsteemann e0ec315d38 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-04-03 13:20:02 +02:00
baslr d18428561d Merge remote-tracking branch 'origin/devel' into feature/ldap-auth 2017-04-03 13:12:50 +02:00
jsteemann dd9ea4b781 fix parsing for URLs starting with ldap:// 2017-04-03 13:06:31 +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
Jan Christoph Uhde 13d83da06f improve arangodb::Result 2017-03-30 14:58:58 +02:00