- 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* fix buffer overruns in linenoise for long input lines
* don't make historian repeatedly print the same error messages that nothing can be done about
* make the implementations of the logging operator<<s not throw exceptions, so that logging does throw exceptions as an unintended side effect
* update CHANGELOG
* improve error message
* don't copy strings, but pass them by const reference
* 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.
* implement transaction handler in c++
* add fake request object
* move general code into extra file
* improve error messages for RestJobHandler
* support cancel operation for async jobs with RestTransactionHandler
* fix integration test and add some optional debugging output
* fix returning of context
* fix error type
* fix code in cluster test
* remove unused variable
* do not rely on non-existing feature "AQL"
using such feature makes the server throw two exceptions (which will be caught) on startup, but its silly for debugging
* use condition variable for signalling shutdown
* do not hard-code the log levels for recovery tests
this has taken so many developers so much of their time that it is about time to fix it
* ensure the 'unittests' script properly finds 'arangosh' and the build directory
* When a transaction aborts, add the error messages to the returned status to aid the development process (as suggested by @DeShadow)
* If we are an arangoerror log out the ArangoError code
* don't send the stacktraces via the 'net, but have better error messages anyway
* static is wrong here - we want to use it with per threads individual values now.
* restructure source just to have one stacktrace processing function.
* Pull array from javascript logging functions up to c++
* js_log now can handle an array of v8-strings, converts it to a vector of std::strings, feeds them one by one into logging for now.
* the stacktraces now don't do individual calls to js_log, but one with an array of log lines.
* 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
* 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)
* 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.
* 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
* remove unused code
* print values of all options
* don't print "warning(s):" if there are none
* remove remainders of old file deletion functionality
* remove unused function
* working documents rest handler
* fixed cluster tests
* Consolidating database APIs
* clang-format
* Fixing issue with user creation through db._createDatabase
* replaced and refactored api-index and index api
* fixed cluster
* renaming some files
* added user methods
* removed files intended for later
* Fixed CC build
* Fixed method signature
* Fixing shell_server, shell_client tests
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.
* '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
...
* 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
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.
This recognizes errors that happen during the global cluster bootstrap.
If an error happens, the bootstrap is tried again later. The cluster
does not start until the cluster bootstrap has been finished
successfully.
* Improve Foxx cluster resilience
Fixes#2083Fixes#2384Fixes#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
commit 19a7210119cc284af64251b202f690ab62bf615c
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 23:20:10 2017 +0200
Allow access to /_api/user/ without database check in VST as in HTTP.
This is a try to fix#2465
commit f973c1335652540174bf6b78df42290bded357da
Merge: 30bdc4c 365de45
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 21:32:15 2017 +0200
Merge remote-tracking branch 'origin/devel' into vst-cleanup
commit 30bdc4ca38e028d58cebea8268683d9f94e87ad7
Merge: 14acaea 086f6a2
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 14:52:23 2017 +0200
Merge remote-tracking branch 'origin/devel' into vst-cleanup
commit 14acaea8cb5fff2c1c8c27eee32294bfd612f629
Merge: 5bd0e79 fb088d3
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 12:40:29 2017 +0200
Merge remote-tracking branch 'origin/devel' into vst-cleanup
commit 5bd0e79ab053447f94f2fd959a33b1e15302b6a8
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 12:36:23 2017 +0200
Fix bug in authentication in VST
commit 9a999ce5e629aee5816a4f61b194b086d11fd169
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 12:24:35 2017 +0200
Open up endpoints /_open/* in VST without being authenticated
commit 32f62db42af6d5bfc24214ebb4ca7c1fb473b55e
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 12:11:31 2017 +0200
Simplify logic by not using boost::optional.
commit 925ce2f7b890c6f14205fd3e98553939d89bec61
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 12:11:20 2017 +0200
Add JWT case for authentication for VST
commit f1d7f67a9fc20c91ca000e9a4dad91e0f50f1652
Merge: 040ace3 7a9ccc9
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 08:58:51 2017 +0200
Merge remote-tracking branch 'origin/devel' into vst-cleanup
commit 040ace3e9dce47ddea5f51d29f0153a70d257c9e
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 08:23:16 2017 +0200
Write out chunk buffer using little endian uints
commit 66ad4c0e8d3bc94091664505986b00e7cff39f2f
Author: Max Neunhoeffer <max@arangodb.com>
Date: Fri May 12 08:12:38 2017 +0200
Move maxChunkSize query to constructor, remove dead code
commit f7b4c26cc09c6d512362340c6bf6061bbaae61a9
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 17:57:14 2017 +0200
Do not take protocolVersion from request for VST.
commit c76d6685f9507701715abf882f0ac0e192ead59f
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 13:20:58 2017 +0200
Remove dead code for compression which did never work well.
commit b823765b7c041dc5d143f7ab2e13d92f5f42d3eb
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 13:09:53 2017 +0200
Fix renaming to make compiler happy.
commit b327830012d146f4f4e2d0f0467dab351fbd3bd0
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 13:07:36 2017 +0200
Rename _defaultPortVpp to _defaultPortVst.
commit 5eb98a9e64d702476e8ec098b7506b1a63145d64
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 13:06:28 2017 +0200
Rename header guards VPP -> VST.
commit a3e96be26d49d6151898d8d757ede6225ac6abd2
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 13:05:55 2017 +0200
Rename VppRequest and VppResponse files to Vst.
commit 1d5f6f196490c3cf9312be5927b967b4abc03b67
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 13:04:19 2017 +0200
Change names of header guards VPP -> VST.
commit f004b25fbef75050b34bcd4eae4eb17b8b467230
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 13:03:19 2017 +0200
Rename files VppNetwork.h and VstMessage.h
commit c04d3aec19e8f0a8a3b90cd48e7736bff037359d
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 12:59:15 2017 +0200
Implement correct chunk header for sending out VelocyStream 1.1 messages.
commit 73aeedfbbef24d5929c44bd26c16343480514270
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 01:11:23 2017 +0200
A lot more renaming VPP -> VST.
commit 2acedc77f16a82251bc4f9e39526184e2a6f0dec
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 00:49:20 2017 +0200
Rename header guard.
commit 2ade43946aa5ea0048dab81eed5ffd931ce35ea8
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 00:48:01 2017 +0200
Rename files VppCommTask.* to VstCommTask.*
commit 0ffcda02a51cbad35e5ec06117d397aac37323cd
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 00:46:31 2017 +0200
Rename class VppCommTask to VstCommTask.
commit 9478c6c56c995b014b7a14408544b76fa676a317
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 00:30:47 2017 +0200
Rename protocol versions to VST in ProtocolVersion enum.
commit 0b69b7add6d7b5155ac71b8257def282ab4a1637
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 00:29:29 2017 +0200
Recognize incoming chunk headers in VST/1.1 format.
commit f40173c4fc6dc48613ae67ac3fd810d002c9b6cd
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 00:11:54 2017 +0200
Recognise and remember VST/1.0 and VST/1.1 protocol versions.
commit 29c798dc1af2d650c41eb9ed06f635786faf10f6
Author: Max Neunhoeffer <max@arangodb.com>
Date: Thu May 11 00:11:23 2017 +0200
Create protocol version VST/1.1 and disable vst+ prefix for endpoints.
* '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
...
* 'engine-api' of https://github.com/arangodb/arangodb:
fixed serialization bug
warn before we run out of file descriptors
updated CHANGELOG
slightly simplify logging
* 'engine-api' of github.com:arangodb/arangodb:
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...
Moved pre-commit document modifications out of logical-collection into the physical collection. They are only relevant when actually writing to disc.
Moved useSecondaryIndexes check from Logical to MMFiles collection
Some cleanup in Logical collection imports
Moved index filling into the MMFiles collection
changelog
grunt build
css
ui: queries now using cursors api - issue #2065
remove crosscompile hack - it doesn't work anymore
updated CHANGELOG
add changlog entry for stacktrace log messages
clean up write lockers a bit
fix too early closing of sockets
Moved restoreIndex to Physical collection.
Fix a shell script used during build.
Lower log level to debug in shutdown message.
fix spelling
Moved saveIndex logic into the physical collection
fix potential deadlock
Conflicts:
arangod/MMFiles/MMFilesCollection.cpp
arangod/MMFiles/MMFilesCollection.h
arangod/VocBase/LogicalCollection.cpp
An invalid rev should lead to a 1200 ("conflict") error rather than a
1239 ("illegal document revision") error. This is more intuitive and
in line with the corresponding change in the HTTP API. No tests needed
adjustment.
- ICU now doesn't build the icudata library anymore
- ship the icu database on all platforms and all packages
- we now load the icu database file ourselves, and hand over the pointer to ICU.
- follow the V8 changes around Weak pointer handling
Don't clutter stacktraces for Node compatibility at all. Just add lineNumber/columnNumber/fileName to the object.
These are non-standard but there is precedent for these names in Mozilla.
Clobber stacktrace instead of wrapping in another exception with wonky message string.
This makes SyntaxError details node-compatible and parseable for generating code frames.
Previously, all datafiles/journals that were initially mapped were mapped with PROT_READ only, and later the memory protection was changed to PROT_READ | PROT_WRITE using mprotect().
However, on filesystems that are mounted with NOEXEC, changing the protection from PROT_READ to PROT_READ | PROT_WRITE later may fail. This has been reported in issue #2220.
This change now maps all datafiles/journals with PROT_READ | PROT_WRITE in the beginning, and will later change the mapping to PROT_READ if no writes are required
commit 3952bf2009
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 19 11:00:52 2016 +0100
remove debug code
commit 004da0c614
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 19 10:52:42 2016 +0100
only do not use geoindex in inner loop if we want to sort
commit 32e1c7eac4
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 19 09:16:09 2016 +0100
manually cloning fixes the issue
commit 75823fe879
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 16 15:19:10 2016 +0100
another try to fix the plan
commit 2a404cfabe
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Dec 14 12:21:21 2016 +0100
add dump of ExectionPlan.
Index Node seems to be created!
commit 0f8b496c57
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Dec 14 10:46:24 2016 +0100
add debugging info for geoindex
commit 3d17672feb
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 17:03:01 2016 +0100
better tests
commit 615b85e5f5
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 16:09:00 2016 +0100
add tests - sort && filter and add check for IndexNodes
commit e5fcdb7386
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 15:53:44 2016 +0100
partial rewrite - now we start at endnodes
and work upward towards singleton node
commit 7d93fe0bdd
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 11:48:40 2016 +0100
add link to geo-index doc to sourcefile to clarify goals
commit aac38c8a00
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 11:42:49 2016 +0100
move collection acccesspath check to identify section
so we can compare nodes
commit b8cc674219
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 10:59:02 2016 +0100
prepare to fix filter-sort
commit 783a9aff89
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 16:24:52 2016 +0100
check if nodes are really sorted
commit 1d5e28d969
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 15:36:43 2016 +0100
fix geo-index for cluster case
commit 634eeabc0b
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 13:46:20 2016 +0100
add cluster to .gitignore
commit ae33a790fb
Merge: 1acfd6527099a1
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 13:31:54 2016 +0100
Merge branch 'devel' into obi-geo-index
* devel:
Clarify the default value of req.body
fix VS warning
moveShard jobs running
cppcheck
cppcheck
commit 1acfd65467
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 13:30:38 2016 +0100
work on geo-index in cluster
commit 32d0bdc846
Merge: b660672ad4ba24
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 09:15:36 2016 +0100
Merge branch 'devel' of github.com:arangodb/arangodb into obi-geo-index
* 'devel' of github.com:arangodb/arangodb: (132 commits)
try to fix travis build
Generate unique Swagger operationIds
Add support for Swagger tags
Add swagger route to Foxx API
Require at least one arg in route def
ported velocypack compatibility fix from arangodb/velocypack
use bulk allocator for index elements
fix memleak
fix test in cluster
remove unused code
fixed resilience
Update zwagger
Readd satellite node
Fix link
Document OAuth1
Nicer OAuth2 docs
properly start the tarball
fix VS compile errors
clones method in Jobs more useful
we don't need the dpkg-shlibdeps workaround anymore.
...
commit b6606727ee
Author: jsteemann <jan@arangodb.com>
Date: Thu Dec 8 11:13:10 2016 +0100
fixes
commit 5416755049
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Dec 7 15:06:44 2016 +0100
avoid use of geo-index-rule in cases where it could yield an invalid result
commit 3e24624c6e
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 15:56:22 2016 +0100
back to performance
commit a941808ea8
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 10:29:38 2016 +0100
remove debug code for performance testing
commit 2bae135b84
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 10:12:12 2016 +0100
add test case
commit 71be8c215a
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 10:00:11 2016 +0100
node replacement is now working
commit d1a3e4482d
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 20:18:31 2016 +0100
condition replace should be almost working
commit 275e36b603
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 19:49:10 2016 +0100
add pointer that needs to be replaced with true
in sort or filter condition
commit 6b93b9d2eb
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 19:38:01 2016 +0100
bring functions in correct order
commit 5aabbb0ac0
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 16:21:21 2016 +0100
fix const-ness so the condition can be modiefied
commit c84223d598
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 15:31:50 2016 +0100
Add information if AstNode has been found in subexpression
this information can be used in rewriting the condition and deciding
if a sort node can be deleted or not
commit b0b660eb85
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 15:19:06 2016 +0100
add iterative preorder walk for and conditions
commit 5dcf61c9ba
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 14:00:14 2016 +0100
now work to a certain degree with binaray/naray-and in FILTER/SORT
condition
commit 9b4e01eb3b
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 13:17:01 2016 +0100
move geoIndexRule to a positon before inexes have been touched by
optimizer
commit 9d04b37e58
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 12:46:23 2016 +0100
within queries are now working
commit d858b9aa71
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 16:15:23 2016 +0100
further implement within
commit 72d4790c68
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 12:22:07 2016 +0100
remove boost::optional and make use of nodetype
commit e0220be12d
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 11:53:31 2016 +0100
stronger split between identification of candidates and application of geo index rule
commit f27a22db06
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 11:20:09 2016 +0100
fix debug code
commit fab9af483e
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 11:00:39 2016 +0100
add extra log topic for development
commit 56b6be851c
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 10:44:42 2016 +0100
add functions providing capability to check ast for parts of geoindex
rules
commit 08ef943c83
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 23:01:50 2016 +0100
fix tests
commit 56614ac8c8
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 16:30:09 2016 +0100
switch unittests to chai and add failing test for FILTER condition
commit 8bb719c615
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 15:59:10 2016 +0100
add first tests for geoindex
commit e619ef3e4e
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 12:21:51 2016 +0100
now inspect sort and filter nodes
commit 5dbf5e14e3
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 10:03:24 2016 +0100
refactor geoOptimization into smaller fucntions
this prepares the creation of the within rules
commit 2110736d36
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 16:50:02 2016 +0100
fix logical error in nextBabies
commit 972af3af4c
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 15:44:46 2016 +0100
add within to geoindex iterator
commit 80c89d5f97
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 15:25:11 2016 +0100
geo condition is now build with a extra parameter for within
commit 8bafcdfe92
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 14:10:16 2016 +0100
GeoIndexIterator now takes parameters via ConditionNode
commit 86c21eb733
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Nov 29 14:13:35 2016 +0100
make use of geo index cursor api
commit 5b3be69e10
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Nov 29 11:48:32 2016 +0100
WIP first working version of geoindex via aql
added more memory diagnostics for memory usage:
- collection.figures() now returns a "readCache" attribute which contains the
number of and memory usage of entries in the document revisions cache for the
collection, and a "revisions" attribute with the number and memory usage
of entries in the storage engine's revision lookup table for the collection
- the default value for --database.revision-cache-target-size was changed from
75% of RAM to 30% of RAM
- this sets option CURLOPT_PATH_AS_IS to keep ".." and other special components in paths
- this also changes the behavior of StringUtils::urlEncode() to always encode the "."
character to "%2e"
- detect programms required for generating files as maintainer-build-dependency
- add target to cleanup autogenerated files
- make cleane build clean & regenerate autogenerated files.
- crlf transcode the readmes during the installation phase - not build.
if an object provides a toJSON() function, this function is still called for serializing it.
the change is that the result of toJSON() is not stringified anymore, but saved as is. previous
versions of ArangoDB called toJSON() and after that additionally stringified its result.
...and also deprecated in newer versions of libc:
http://man7.org/linux/man-pages/man3/readdir_r.3.html
That man page recommends to use plain readdir() because it can be expected
to be thread-safe in reality, and newer versions of POSIX may require its
thread-safety formally, and in addition obsolete readdir_r() altogether