aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core
Commit message (Collapse)AuthorAgeFilesLines
* Warn on timeoutHåkon Hallingstad2018-06-151-1/+1
|
* Do not wait for version ack for failed set-node-stateHåkon Hallingstad2018-06-135-6/+82
|
* Remove support for ancient legacy node state protocol versionsTor Brede Vekterli2018-06-113-83/+17
| | | | | Protocol versions 0 and 1 haven't been in use for years. No point in maintaining complexity to support automatic downgrades to these.
* Merge pull request #5766 from ↵Geir Storli2018-05-033-3/+31
|\ | | | | | | | | vespa-engine/vekterli/only-derive-default-space-node-states-when-global-doc-types-present Only derive default bucket space node states when cluster has global docs
| * Only derive default bucket space node states when cluster has global docsTor Brede Vekterli2018-05-023-3/+31
| | | | | | | | | | | | | | Lets cluster controller use new protocols for sending compressed cluster state bundles, but without triggering implicit Maintenance edges for nodes in the default bucket space. Also allows for easy live reconfiguration when global document types are added or removed.
* | Revert "Revert "Gjoranv/java9 prep 05""gjoranv2018-05-021-1/+1
|/
* Revert "Gjoranv/java9 prep 05"gjoranv2018-05-021-1/+1
|
* Java 9: Replace 'new Integer' with 'Integer.valueOf'gjoranv2018-04-301-1/+1
|
* Avoid candidate state racing with published state in testsTor Brede Vekterli2018-04-271-0/+15
| | | | | | | | Since the tests using `StateWaiter` expects to observe _both_ versioned and unversioned (candidate) states, we ignore candidate states iff they are equal to the versioned state we have already observed. Otherwise, tests waiting for a _versioned_ state risk never observing the version number itself (only a candidate following it) and hang until they time out.
* Merge pull request #5710 from vespa-engine/gjoranv/java9-prep-01Bjørn Christian Seime2018-04-251-9/+0
|\ | | | | Gjoranv/java9 prep 01
| * Remove explicit maven-compiler-plugin config. Inherit from parent.gjoranv2018-04-251-9/+0
| |
* | Remove redundant task processing stepTor Brede Vekterli2018-04-251-1/+0
| | | | | | | | Already implicitly called by saveLatestClusterStateBundle()
* | Update log messageTor Brede Vekterli2018-04-251-1/+1
| |
* | ZooKeeper-persist and load published cluster state bundlesTor Brede Vekterli2018-04-2423-125/+716
|/ | | | | | | | | | | | | | | | Store synchronously upon each new versioned state, load whenever controller is elected master. Effectively carries over visible node states from one controller's lifetime to the next. This removes the edge case where default bucket space content nodes are marked as in Maintainence until their global merge status is known. To avoid controller tripping over its own feet, state bundles are now _not_ versioned at all until the initial send time period has passed. This prevents overwriting the state persisted from a previous controller with a transient state where all nodes are down due to not having Slobrok contact yet. A new cluster state recompute+send edge has been added when the master passes its initial state send time period.
* Add metric for node availbility ratioTor Brede Vekterli2018-04-123-6/+62
| | | | | Separate node type dimensions are used for distributors and storage nodes
* Add missing test for existing node state metricsTor Brede Vekterli2018-04-122-0/+131
|
* Fix grammar in Event messageTor Brede Vekterli2018-04-062-2/+2
|
* Add information about derived bucket space state in cluster state history.Geir Storli2018-03-234-21/+71
|
* Add buckets total to per bucket space stats on html status page.Geir Storli2018-03-203-13/+33
|
* Add config to clustercontroller for the min merge completion ratio of ↵Geir Storli2018-03-2011-38/+93
| | | | buckets in a bucket space before it is considered complete.
* Fix ClusterStatsChangeTracker to handle case where current node is not found ↵Geir Storli2018-03-193-6/+15
| | | | | | in previous state. Cluster stats may have changed in this case.
* Extend cluster v2 to output the published distribution state.Geir Storli2018-03-1513-34/+92
| | | | This is the baseline cluster state + per bucket space states.
* 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
|