summaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove never used per storage node ops latencies in host info.Geir Storli2018-03-133-69/+4
|
* Merge pull request #5269 from ↵Geir Storli2018-03-095-70/+104
|\ | | | | | | | | vespa-engine/geirst/fix-cluster-stats-change-tracker-in-clustercontroller Fix ClusterStatsChangeTracker to keep previous 'may have merges pendi…
| * Fix ClusterStatsChangeTracker to keep previous 'may have merges pending' ↵Geir Storli2018-03-085-70/+104
| | | | | | | | state per content node.
* | More descriptive test namesTor Brede Vekterli2018-03-081-5/+5
| |
* | Update constraint mock variable namingTor Brede Vekterli2018-03-081-4/+4
| |
* | Must use published state from default bucket space, not baselineTor Brede Vekterli2018-03-081-1/+7
| |
* | Unify styleTor Brede Vekterli2018-03-081-6/+9
| |
* | Add a simple maintenance state transition constraint for nodes in default spaceTor Brede Vekterli2018-03-086-14/+133
|/ | | | | | | | Avoids transitioning an already up/init/retired node to maintenance mode when global merges are pending, but allows transitions when the node is considered down/maintenance in the already published state. Not stateful, so triggers false positives on cluster controller restart edges.
* Simplifications.Geir Storli2018-03-072-7/+3
|
* Fix AggregatedStatsMergePendingChecker to take state of aggregated cluster ↵Geir Storli2018-03-079-85/+134
| | | | | | | | | | stats into account. We may have merges pending if: - we don't yet have updates from all distributors - we don't have stats for the content node in question Also move mayHaveMergesPendingInGlobalSpace() to AggregatedStatsMergePendingChecker.
* Also list derived bucket space states in html state.Geir Storli2018-03-072-3/+13
|
* Add bucket space column to html state.Geir Storli2018-03-071-6/+20
|
* Use computeIfAbsent() instead of explicit get() and put().Geir Storli2018-03-061-6/+1
|
* Add factory functions for NodeEvent and improve some function names.Geir Storli2018-03-068-35/+42
|
* Extend EventDiffCalculator to emit events for changes in derived bucket ↵Geir Storli2018-03-028-80/+324
| | | | space cluster states.
* Add node state reason for nodes that may have buckets pending.Geir Storli2018-03-023-13/+65
|
* Also use AnnotatedClusterState for derived bucket space states in ↵Geir Storli2018-03-029-53/+71
| | | | ClusterStateBundle.
* Merge pull request #5177 from ↵Tor Brede Vekterli2018-03-0110-55/+187
|\ | | | | | | | | vespa-engine/geirst/add-buckets-pending-stats-on-clustercontroller-status-page Geirst/add buckets pending stats on clustercontroller status page
| * Simplifications.Geir Storli2018-03-014-6/+10
| |
| * Add per node buckets pending stats on html status page.Geir Storli2018-02-286-34/+93
| |
| * Add function to get aggregated node stats per distributor.Geir Storli2018-02-284-21/+90
| |
* | Merge pull request #5164 from ↵Geir Storli2018-02-2821-92/+490
|\ \ | |/ |/| | | | | vespa-engine/vekterli/add-v3-cluster-state-propagation-rpc Add v3 RPC for sending cluster states to content nodes
| * Add class commentsTor Brede Vekterli2018-02-285-0/+32
| |
| * Factor out common RPC version downgrade codeTor Brede Vekterli2018-02-271-12/+11
| |
| * Add v3 RPC for sending cluster states to content nodesTor Brede Vekterli2018-02-2721-84/+451
| | | | | | | | | | | | | | | | | | Supports sending states for multiple bucket spaces at once, with possibilities for extending protocol later for sending distribution config etc. Payload is LZ4-compressed when possible. If a receiver node does not understand the v3 protocol, the protocol version is transparently downgraded to legacy v2 RPC.
* | Add switch to enable multiple bucket spaces in cluster controller.Geir Storli2018-02-274-2/+11
|/
* Rename ClusterStateChangeTracker -> ClusterStatsChangeTracker.Geir Storli2018-02-273-22/+22
|
* Rename hasMergesPending() -> mayHaveMergesPending() followup.Geir Storli2018-02-271-6/+6
|
* Rename hasMergesPending() -> mayHaveMergesPending().Geir Storli2018-02-276-10/+10
|
* Rename ClusterStatsBucketsPendingState -> ClusterStateChangeTracker.Geir Storli2018-02-273-13/+12
|
* Wire buckets pending state into state version tracker.Geir Storli2018-02-274-2/+65
|
* Remove unused function parameter.Geir Storli2018-02-274-11/+8
|
* Add class tracking whether we have changes in buckets pending state in the ↵Geir Storli2018-02-274-3/+171
| | | | 'global' bucket space.
* Let BucketSpaceStats track invalid count to allow transition from invalid -> ↵Geir Storli2018-02-274-19/+52
| | | | valid.
* Add class checking whether a bucket space on a content node might have ↵Geir Storli2018-02-275-51/+161
| | | | buckets pending.
* Track whether BucketSpaceStats is valid or not.Geir Storli2018-02-273-3/+64
|
* Nonfunctional changes onlyJon Bratseth2018-02-263-165/+24
|
* Remove never used distributor-put-latency metrics from restapiv2.Geir Storli2018-02-2213-327/+0
|
* Initial support for per bucket space cluster states in cluster controllerTor Brede Vekterli2018-02-2221-102/+757
| | | | | Multiple spaces are only enabled in tests, so the controller still only generates the legacy baseline cluster state, maintaining today's behavior.
* Cleanup import statements.Geir Storli2018-02-201-1/+0
|
* Add factory functions for BucketSpaceStats.Geir Storli2018-02-202-7/+14
|
* License year bump.Geir Storli2018-02-202-2/+2
|
* Add handling of bucket spaces stats to HostInfo and ClusterStatsAggregator.Geir Storli2018-02-1912-417/+281
| | | | Handling of outstanding merge ops has been removed as this information has never been provided by the distributors.
* Rename NodeMergeStats -> ContentNodeStats.Geir Storli2018-02-197-60/+60
|
* Rename StorageMergeStats -> ContentClusterStats.Geir Storli2018-02-196-39/+35
|
* Log when a cluster state version is publishedTor Brede Vekterli2017-10-301-0/+1
| | | | | | Makes it much easier to reason about which state transitions have been made visible in the cluster, and which ones have just been internal state transitions in the controller.
* Update wanted state on description changes, and fix method namesHåkon Hallingstad2017-10-241-13/+17
|
* Also set the distributor wanted state when safe-setting the storage node stateHåkon Hallingstad2017-10-214-12/+247
| | | | | | | | | | This is done as part of the SAFE REST API call to set the node state of a storage node to ensure atomicity of the state change, reduce the number of state changes, and minimize the time to complete the state changes. The right way to think about the safe-set is then: In order to safely set a storage node to (e.g.) maintenance, the distributor will also have to be set to down. And so on for the various permutations of state transitions.
* Ignore current wanted state when safely setting state to upHåkon Hallingstad2017-10-202-10/+5
|
* Merge pull request #3525 from ↵Tor Brede Vekterli2017-10-128-21/+165
|\ | | | | | | | | vespa-engine/vekterli/re-enable-synchronous-set-node-state Re-enable synchronous set node state with additional safeguards