* Applied review cAdded sceleton optimizer functionomments
* Added mask for rule
* Applied review cAdded sceleton optimizer functionomments
* Added mask for rule
* adding plan traversal for rule
* Rule execution block developing
* Experiment with additional block
* LIMIT node modifications
* implemented late materialization base version.
* Code cleanup
* Added check for variable usage
* Implemented serialization and cloning
* Fixed build errors
* Implemented late materialization for LimitNode
* Moved materialization to Sort Node
* Removed LimitNode modiications
* Implemented skipRows to speedup single server
* Added tests for optimizer rule
* fixed build
* Fix mac build
* Fixed mac build
* Fixed PR test run errors
* Added tmp fix for cluster test runs
* removed debug print
* Make materialization stick to last sort node. Add late materialization to explainer
* Updated optimization rule to search optimal SortNode to do materialization
* Refined optimization rules for cluster
* Added tests for SortExecutor and IResearchViewNode
* Fixed mac buid. Removed misplaced assertion.
* Fixed build
* Updated tests. Coded cleanup
* Code cleanup
* made function name for SortedExecutor match name in ConstraintSortedExecutor
* cleanup
* Fixed test run
* made scoring results stable across cluster
* Make optimize rule stop if sort node for limit node is not suitable
* Disabled constrained sort for materializing SortNode
* reverted SortNode modifications
* Implemented separate materializer node
* Fixed tests to account new materialize node
* Code cleanup
* reverted debugging change
* Fixed test jslint error and comments
* MaterializeNode renamed
* enum value renamed for materialize node
* Code cleanup
* code cleanup and optimization
* Fixed clang warning
* Applied review comments
* Out variable planning moved to materialize node
* inlined getters in ReadContex
* added proper UI support for collections using smartGraphAttribute or smartGraphAttribute
* changelog
* make key selection more clear
* added awesome ' : ' div
* fixed smart doc creation logic
* spawn an arangosh that checks cluster nodes are responsive
* attempting to kill 0 may end up bad for us, prohibit it
* don't trip over this optional stuff.
* fix killing of spectator
* only write one line per minute
* fix function name
* print sHitlist of tests, add resource usage
* fix lint
* start refactoring result processing into its own library
* /proc reading only works on linux
* new result processing library
* clean up test loading flow, remove unused blacklist implementation
* measure SUT start/stop + test time
* lint
* more non-test variables
* improve test runner naming
* finish gathering statistics about start/run/stop
* use internal stats code for external processes too
* fix status in sample testcase
* tell that procdump is gone - it seems this happenes in reality without coredumps being written
* refactor test result analyzing, add utility to work with analyzers of json dumps from CI systems
* fix testcase error handling
* also run watcher for agency
* lint
* fix default options for test added default options
* if arguments occur multiple times, update value to an array
* start implementing some test analyzers
* fix color
* write json report unconditional
* add analyzer that searches for long setup/teardown tests
* enable thread dump; log error if we fail to acquire the threads
* disable procdump for the agency
* output error if we fail to get process stats
* fix json invocation
* add debug logging
* only add buildType if that directory actually exists
* trap sleepers
* trap sleepers
* trap sleepers
* trap sleepers
* trap sleepers
* disable thread counting on the wintendo
* disable thread counting on the wintendo
* more measurements
* more measurements
* one more place
* one more place
* remove debugging code
* Update js/client/modules/@arangodb/process-utils.js
Co-Authored-By: Dan Larkin-York <danielhlarkin@users.noreply.github.com>
* Update js/client/modules/@arangodb/process-utils.js
Co-Authored-By: Dan Larkin-York <danielhlarkin@users.noreply.github.com>
* Apply suggestions from code review
Co-Authored-By: Dan Larkin-York <danielhlarkin@users.noreply.github.com>
* rename as sugested by @dan
* undo debug changes
* lint, make cluster health monitor optional per default
* fix spawning of active failover SUT, fix cluster health monitor shutdown
* use std::find_if (as @dan sugested), fix log ids
* fix scope of before-time
* Consolidated _servers and _serverAdvertisedEndpoints, added rebootId, prepared change notifications
* Cleanup
* Added a RebootId type
* Began implementing RebootTracker (still WIP)
* Moved RebootId operators into the class
* Removed RebootId operator<< again
* Added tests, added CallbackGuard, removed/commented old RebootTracker code
* Fix: do not try to call unset callbacks
* Split one test, added another
* Added more tests
* Renamed tests, added more tests
* Fixed missing variable declarations
* Let MockServer appear to be started
* Reorded test, fixed naming
* Implemented callMeOnChange()
* Re-implemented RebootTracker (not yet working)
* Resolved a TODO, updated a test, added comments
* Call old callbacks immediately
* Fixed tests
* Use EXPECT_* instead of ASSERT_*
* Suppress a log message
* Resolved TODOs
* Reverted changes on reading ServersRegistered
* Update RebootTracker
* Introduce `rebootId` into ServerState for Cluster
* A server *boots* if it is started on a previously non-existing data
directory and hence does not have a UUID yet.
* A server *reboots* if it is started on a pre-existing data directory
We keep the rebootId in the cluster's agency under
Current/ServersKnown/$uuid/rebootId.
When rebooting (and subsequently re-joining a cluster), the server increments
its rebootId in Phase 2 of registration. This way it can be detected within the
cluster whether a server was restarted.
This information will later be used to handle cases where server restarts can
lead to problems, for example with transactions or in-progress queries.
* Move rebootId into Current/ServersKnown/
* Fixed typo
* Fixed log ids
* Add deletion of ServersKnown/UUID from agency
* Add deletion of Current/ServersKnown/UUID to removeServer
* Clean up readRebootIdFromAgency and add retry loop around it
* Bugfix
* Added nolint comments
* Fixed initialization order
* Fixed ClusterInfo-test
* Added log messages
* Revert "Fixed ClusterInfo-test"
This reverts commit d983596979.
* Disabled assertion for google tests
* Ignore windows compile warning
* Always call loadServers in loadCurrent
* Fix really subtle bug when not returning a value
* Introduce `rebootId` into ServerState for Cluster
* A server *boots* if it is started on a previously non-existing data
directory and hence does not have a UUID yet.
* A server *reboots* if it is started on a pre-existing data directory
We keep the rebootId in the cluster's agency under
Current/ServersKnown/$uuid/rebootId.
When rebooting (and subsequently re-joining a cluster), the server increments
its rebootId in Phase 2 of registration. This way it can be detected within the
cluster whether a server was restarted.
This information will later be used to handle cases where server restarts can
lead to problems, for example with transactions or in-progress queries.
* Move rebootId into Current/ServersKnown/
* Add deletion of ServersKnown/UUID from agency
* Add deletion of Current/ServersKnown/UUID to removeServer
* Clean up readRebootIdFromAgency and add retry loop around it
* Fixed compile error due to forbidden implicit cast
* Fixed compile error on windows
* Fixed compile error due to devel merge
* Removed dead comment
* Removed TODO note
* Extended comment
* Removed TODO note
* Fixed using an invalidated iterator
* Copy string only if necessary
* Fixed compile error
* First version of ResignLeadership Job.
* Port some performance optimizations from CleanOutServerJob.
* Draft of resigning leadership on shutdown.
* Moved code into Maintenance Feature. Fixed beginShutdown.
* remove http so https arangos will work
* verify that query parameters are proper swagger data types, fix offending documentation files
* return the actual type - not the list of available ones
* check formats
* there is no uint64 in swagger
* fresh swagger