Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Test metric value for different dimensions, and more | Håkon Hallingstad | 2020-01-17 | 2 | -5/+12 |
| | |||||
* | Use bucket_space metric in retirement | Håkon Hallingstad | 2020-01-17 | 13 | -30/+120 |
| | | | | | | | | | | | | This makes the Cluster Controller use the vds.datastored.bucket_space.buckets_total, dimension bucketSpace=default, to determine whether a content node manages zero buckets, and if so, will allow the node to go permanently down. This is used when a node is retiring, and it is to be removed from the application. The change is guarded by the use-bucket-space-metric, default true. If the new metric doesn't work as expected, we can revert to using the current/old metric by flipping the flag. The flag can be controlled per application. | ||||
* | Use vespajlib's ExceptionUtils in clustercontroller-core | Bjørn Christian Seime | 2020-01-06 | 2 | -13/+4 |
| | |||||
* | Remove use of apache commons libraries from cluster-controller modules | Bjørn Christian Seime | 2020-01-03 | 4 | -17/+43 |
| | |||||
* | Need to depend on spotbugs | Harald Musum | 2019-11-28 | 1 | -0/+7 |
| | |||||
* | Add non-converged nodes to task deadline exceeded messages | Tor Brede Vekterli | 2019-11-04 | 6 | -26/+142 |
| | | | | | Makes it easier for an external observer to understand what set of nodes is causing the cluster state to not converge. | ||||
* | Pass working candidate state rather than published state to timer code | Tor Brede Vekterli | 2019-10-30 | 1 | -2/+3 |
| | | | | | | | Avoids triggering pointless cluster state recomputation edges because the timer code observes stale information. This can happen if publishing the candidate state is suppressed due to e.g. the minimum time between published state versions not having passed. | ||||
* | Move grace period event edge from timer to event diff calculator | Tor Brede Vekterli | 2019-10-30 | 9 | -25/+103 |
| | | | | | | | | Ensures that event is only emitted when we're actually publishing a state containing the state transition. Emitting events in the timer code is fragile when it does not modify any state, risking emitting the same event an unbounded amount of times if the condition keeps holding for each timer cycle. | ||||
* | Use mockito-core 3.1.0 | Håkon Hallingstad | 2019-10-18 | 16 | -35/+47 |
| | |||||
* | Revert "Reapply "upgrade to zookeeper 3.5"" | Harald Musum | 2019-09-27 | 2 | -24/+9 |
| | |||||
* | Revert "Revert "Hmusum/upgrade to zookeeper 3.5"" | Harald Musum | 2019-09-24 | 2 | -9/+24 |
| | |||||
* | Revert "Hmusum/upgrade to zookeeper 3.5" | Harald Musum | 2019-09-17 | 2 | -24/+9 |
| | |||||
* | Add spotbugs dep to clustercontroller-core. | gjoranv | 2019-09-10 | 1 | -0/+7 |
| | | | | + Use version property for zk in parent pom | ||||
* | Don't use import wildcards. | gjoranv | 2019-09-10 | 1 | -9/+17 |
| | |||||
* | Cleanup tests, no functional changes | Harald Musum | 2019-09-03 | 57 | -457/+384 |
| | |||||
* | Guard critical cluster state version ZK writes with an atomic CaS | Tor Brede Vekterli | 2019-07-11 | 5 | -68/+170 |
| | | | | | | | | | Lets a controller discover that another controller also believes it is the leader by tracking the expected znode versions for cluster state version and bundle znodes. If a CaS failure is triggered, the controller will drop its database and election state, forcing a state refresh. | ||||
* | Do not allow states to be published when they have pending ZK writes | Tor Brede Vekterli | 2019-07-05 | 2 | -0/+15 |
| | | | | | | Avoids a race condition where a bundle ZK write fails but we have not yet detected that ZK connectivity has been lost. This could lead to violating the invariant that published state versions are strictly increasing. | ||||
* | Don't use fake timers for master election tests | Tor Brede Vekterli | 2019-06-20 | 1 | -14/+14 |
| | | | | | | | | When using fake timers there's a catch-22 edge case during transient ZooKeeper disconnects. The test will not progress and increase the fake timer value until ZK is connected, but ZK will not attempt to reconnect until the reconnection cooldown period has passed (which depends on the faked timer). | ||||
* | Increase ZK client session timeout from 10s to 30s | Tor Brede Vekterli | 2019-06-19 | 1 | -1/+1 |
| | | | | | | | | Have a suspicion that 10s ends up being too short when ZK's write-ahead log flushing is taking a long time due to a heavily loaded CI container. Should still be short enough for a network hiccup to hopefully trigger a reconnect before the test itself times out. | ||||
* | Reduce ZK session timeout for master election unit tests | Tor Brede Vekterli | 2019-06-17 | 1 | -4/+4 |
| | | | | | | | | | Setup methods would previously override explicit timeouts set by the tests with a default of 2 minutes. It's suspected that this long timeout combined with spurious ZK client failures is a source of test failures. Reduce to 10 seconds for now. Let's see how well it fares on a heavily loaded CI container. | ||||
* | Keep the spec final. | Henning Baldersheim | 2019-05-28 | 1 | -1/+1 |
| | | | | | | Create the address when needed in the async connect thread. Implement hash/equal/compareTo for Spec to avoid toString. Use Spec as key and avoid creating it every time. | ||||
* | Remove usage of deprecated Method constructor | Bjørn Christian Seime | 2019-05-23 | 2 | -21/+21 |
| | |||||
* | mockito-all => mockito-core | Henning Baldersheim | 2019-04-29 | 1 | -1/+1 |
| | |||||
* | Change interface from Mirror.Entry[] to List<Mirror.Entry> as you already ↵ | Henning Baldersheim | 2019-04-22 | 1 | -4/+9 |
| | | | | | | have a list. Avoid having to do an array copy that is not necessary. | ||||
* | Address code review feedback for cluster controller changes | Tor Brede Vekterli | 2019-03-26 | 3 | -36/+42 |
| | |||||
* | Work around some Java generics snags in test mocks | Tor Brede Vekterli | 2019-03-22 | 1 | -0/+7 |
| | |||||
* | Activation reply processing must inspect actual version returned | Tor Brede Vekterli | 2019-03-21 | 13 | -35/+113 |
| | | | | | | | | Version mismatches in backend do not return explicit RPC errors, so actual vs. desired versions must be checked in order to avoid potentially spurious activation of other versions. Also do some minor code cleanup. | ||||
* | Add activated state version to node status page row | Tor Brede Vekterli | 2019-03-20 | 4 | -10/+18 |
| | | | | | Only displayed if not equal to published state version and if two-phase transitions are enabled. | ||||
* | Break rendering MegaFunction(tm) into separate functions | Tor Brede Vekterli | 2019-03-20 | 1 | -112/+142 |
| | |||||
* | Explicitly enable two-phase transitions in tests, disable in default options | Tor Brede Vekterli | 2019-03-20 | 16 | -70/+80 |
| | | | | Mirrors the default values in the actual underlying config definitions. | ||||
* | Add explicit tests of `SystemStateBroadcaster` behavior | Tor Brede Vekterli | 2019-03-20 | 2 | -14/+177 |
| | |||||
* | Bring default state of ClusterStateBundle deferred activation flag in line ↵ | Tor Brede Vekterli | 2019-03-20 | 4 | -25/+21 |
| | | | | | | | with C++ impl I.e. disabled by default. Also reduce log level for logging used during development. | ||||
* | Print deferred activation flag in `ClusterStateBundle.toString` | Tor Brede Vekterli | 2019-03-15 | 2 | -4/+36 |
| | |||||
* | Bind deferred activation decision to concrete bundle instance, not global config | Tor Brede Vekterli | 2019-03-15 | 5 | -9/+38 |
| | | | | Ensure that deferred activation flags are propagated during building and cloning. | ||||
* | Support configurable two-phase state transitions in cluster controller | Tor Brede Vekterli | 2019-03-14 | 16 | -108/+382 |
| | |||||
* | Initial groundwork for cluster state version activation RPC | Tor Brede Vekterli | 2019-03-14 | 10 | -62/+206 |
| | |||||
* | Include deferred activation flag with cluster state bundles | Tor Brede Vekterli | 2019-03-14 | 7 | -18/+114 |
| | | | | | | | Bundles including this flag from the cluster controller indicate to receiver nodes that an explicit activation RPC will follow. When it is not present, nodes must activate the cluster state at their own leisure as they have done historically. | ||||
* | Reduce log spam | Håkon Hallingstad | 2019-01-22 | 1 | -3/+4 |
| | |||||
* | 6-SNAPSHOT -> 7-SNAPSHOT | Arnstein Ressem | 2019-01-21 | 1 | -2/+2 |
| | |||||
* | Remove experimental enable-multiple-bucket-spaces flag. | Geir Storli | 2018-11-23 | 3 | -14/+3 |
| | | | | The feature has been default on since late May 2018. | ||||
* | Revert "Revert "Revert "Revert "Enforce CC timeouts in Orchestrator 4"""" | Håkon Hallingstad | 2018-11-01 | 5 | -21/+64 |
| | |||||
* | Revert "Revert "Revert "Enforce CC timeouts in Orchestrator 4""" | Håkon Hallingstad | 2018-11-01 | 5 | -64/+21 |
| | |||||
* | Revert "Revert "Enforce CC timeouts in Orchestrator [4]"" | Håkon Hallingstad | 2018-11-01 | 5 | -21/+64 |
| | |||||
* | Revert "Enforce CC timeouts in Orchestrator [4]" | Harald Musum | 2018-10-31 | 5 | -64/+21 |
| | |||||
* | Revert "Revert "Revert "Revert "Enforce CC timeouts in Orchestrator 2"""" | Håkon Hallingstad | 2018-10-30 | 5 | -21/+64 |
| | |||||
* | Revert "Revert "Revert "Enforce CC timeouts in Orchestrator 2""" | Håkon Hallingstad | 2018-10-30 | 5 | -64/+21 |
| | |||||
* | Revert "Revert "Enforce CC timeouts in Orchestrator 2"" | Håkon Hallingstad | 2018-10-29 | 5 | -21/+64 |
| | |||||
* | Revert "Enforce CC timeouts in Orchestrator 2" | Håkon Hallingstad | 2018-10-29 | 5 | -64/+21 |
| | |||||
* | Fixes after review round | Håkon Hallingstad | 2018-10-26 | 1 | -1/+1 |
| | |||||
* | set-node-state probing in CC | Håkon Hallingstad | 2018-10-24 | 5 | -21/+64 |
| |