diff options
Diffstat (limited to 'clustercontroller-core/src/main/java/com')
50 files changed, 117 insertions, 57 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java index 28de4f836ba..f935b8b2cc7 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/AnnotatedClusterState.java @@ -10,6 +10,7 @@ import java.util.Objects; import java.util.Optional; public class AnnotatedClusterState { + private final ClusterState clusterState; private final Map<Node, NodeStateReason> nodeStateReasons; private final Optional<ClusterStateReason> clusterStateReason; @@ -66,4 +67,5 @@ public class AnnotatedClusterState { public int hashCode() { return Objects.hash(clusterState, nodeStateReasons, clusterStateReason); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterEvent.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterEvent.java index 1211ff52c74..64413062860 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterEvent.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterEvent.java @@ -41,4 +41,5 @@ public class ClusterEvent implements Event{ public String getCategory() { return type.toString(); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateReason.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateReason.java index 845d13650bd..3d594be5219 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateReason.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateReason.java @@ -8,8 +8,10 @@ package com.yahoo.vespa.clustercontroller.core; * they are obvious from direct inspection. */ public enum ClusterStateReason { + TOO_FEW_STORAGE_NODES_AVAILABLE, TOO_FEW_DISTRIBUTOR_NODES_AVAILABLE, TOO_LOW_AVAILABLE_STORAGE_NODE_RATIO, TOO_LOW_AVAILABLE_DISTRIBUTOR_NODE_RATIO, + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateView.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateView.java index 5f7a86f6247..a0e93c2a9ad 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateView.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStateView.java @@ -23,7 +23,6 @@ import java.util.logging.Logger; * merges before steady-state is reached. * * @author hakonhall - * @since 5.33 */ public class ClusterStateView { diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStatsAggregator.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStatsAggregator.java index 265ca90100e..849a2aa23c2 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStatsAggregator.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/ClusterStatsAggregator.java @@ -30,7 +30,6 @@ import com.yahoo.log.LogLevel; * from each distributor. * * @author hakonhall - * @since 5.34 */ public class ClusterStatsAggregator { @@ -121,4 +120,5 @@ public class ClusterStatsAggregator { } } } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Communicator.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Communicator.java index 6f8995be01a..de0ba6bf33c 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Communicator.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Communicator.java @@ -21,4 +21,5 @@ public interface Communicator { void setSystemState(ClusterState state, NodeInfo node, Waiter<SetClusterStateRequest> waiter); void shutdown(); + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java index 34beb038e10..3f15a089349 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java @@ -139,4 +139,5 @@ public class EventLog implements EventLogInterface { } sb.append("</table>\n"); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLogInterface.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLogInterface.java index 099d8ec0678..6381d25f023 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLogInterface.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLogInterface.java @@ -7,12 +7,12 @@ import java.util.List; public interface EventLogInterface { - public void add(Event e); - public void add(Event e, boolean logInfo); - public void addNodeOnlyEvent(NodeEvent e, java.util.logging.Level level); - public int getNodeEventsSince(Node n, long time); - public long getRecentTimePeriod(); - public void writeHtmlState(StringBuilder sb, Node node); - public void setMaxSize(int size, int nodesize); + void add(Event e); + void add(Event e, boolean logInfo); + void addNodeOnlyEvent(NodeEvent e, java.util.logging.Level level); + int getNodeEventsSince(Node n, long time); + long getRecentTimePeriod(); + void writeHtmlState(StringBuilder sb, Node node); + void setMaxSize(int size, int nodesize); } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java index d8628663199..0b0653274a4 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java @@ -722,11 +722,10 @@ public class FleetController implements NodeStateOrHostInfoChangeHandler, NodeAd } /* - System test observations: + System test observations: - a node that stops normally (U -> S) then goes down erroneously triggers premature crash handling - long time before content node state convergence (though this seems to be the case for legacy impl as well) */ - private boolean resyncLocallyCachedState() throws InterruptedException { boolean didWork = false; // Let non-master state gatherers update wanted states once in a while, so states generated and shown are close to valid. @@ -993,4 +992,5 @@ public class FleetController implements NodeStateOrHostInfoChangeHandler, NodeAd public EventLog getEventLog() { return eventLog; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerTask.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerTask.java deleted file mode 100644 index 6c481c4f312..00000000000 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetControllerTask.java +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.clustercontroller.core; - -/** - * Represents a task that the fleet controller should perform. - */ -public interface FleetControllerTask { - public void execute(FleetController fleetController); -} diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/GroupAvailabilityCalculator.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/GroupAvailabilityCalculator.java index eab242b78f2..686ef0dee6c 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/GroupAvailabilityCalculator.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/GroupAvailabilityCalculator.java @@ -17,12 +17,12 @@ import java.util.Set; import java.util.stream.Stream; class GroupAvailabilityCalculator { + private final Distribution distribution; private final double minNodeRatioPerGroup; private GroupAvailabilityCalculator(Distribution distribution, - double minNodeRatioPerGroup) - { + double minNodeRatioPerGroup) { this.distribution = distribution; this.minNodeRatioPerGroup = minNodeRatioPerGroup; } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/LatencyStats.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/LatencyStats.java index f12f843d64c..581cc244a20 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/LatencyStats.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/LatencyStats.java @@ -3,6 +3,7 @@ package com.yahoo.vespa.clustercontroller.core; /** * LatencyStats handles adding latencies and counts. + * * @author hakonhall */ public class LatencyStats { @@ -28,4 +29,5 @@ public class LatencyStats { public long getLatencyMsSum() { return latencyMsSum; } public long getCount() { return count; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeEvent.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeEvent.java index 08fcf9ec507..676f4228405 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeEvent.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeEvent.java @@ -49,4 +49,5 @@ public class NodeEvent implements Event { public Type getType() { return type; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeLookup.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeLookup.java index 94b426df6b1..ceb81e91b7d 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeLookup.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeLookup.java @@ -11,4 +11,5 @@ public interface NodeLookup { void shutdown(); boolean updateCluster(ContentCluster cluster, NodeAddedOrRemovedListener listener); + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeMergeStats.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeMergeStats.java index 53079876bdc..97112e01aed 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeMergeStats.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeMergeStats.java @@ -5,7 +5,6 @@ import com.yahoo.vespa.clustercontroller.core.hostinfo.StorageNode; /** * @author hakonhall - * @since 5.33 */ public class NodeMergeStats { diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java index 4172860d44c..2125a18f0fe 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java @@ -17,7 +17,7 @@ import java.util.Optional; /** * Checks if a node can be upgraded. * - * @author dybis + * @author Haakon Dybdahl */ public class NodeStateChangeChecker { public static final String BUCKETS_METRIC_NAME = "vds.datastored.alldisks.buckets"; diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateReason.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateReason.java index f51eddef5a5..a092e2012ec 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateReason.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateReason.java @@ -2,9 +2,11 @@ package com.yahoo.vespa.clustercontroller.core; public enum NodeStateReason { + // FIXME some of these reasons may be unnecessary as they are reported implicitly by reported/wanted state changes NODE_TOO_UNSTABLE, WITHIN_MAINTENANCE_GRACE_PERIOD, FORCED_INTO_MAINTENANCE, GROUP_IS_DOWN + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RealTimer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RealTimer.java index 00de1f3ea2d..15f18b02865 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RealTimer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RealTimer.java @@ -58,4 +58,5 @@ public class RealTimer implements Timer { cal.get(Calendar.SECOND), cal.get(Calendar.MILLISECOND)); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RemoteClusterControllerTaskScheduler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RemoteClusterControllerTaskScheduler.java index a41af6c256e..6cd834e79ac 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RemoteClusterControllerTaskScheduler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/RemoteClusterControllerTaskScheduler.java @@ -2,5 +2,7 @@ package com.yahoo.vespa.clustercontroller.core; public interface RemoteClusterControllerTaskScheduler { - public void schedule(RemoteClusterControllerTask task); + + void schedule(RemoteClusterControllerTask task); + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageMergeStats.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageMergeStats.java index ec55a6ca1af..6a44bee8cce 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageMergeStats.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageMergeStats.java @@ -10,7 +10,6 @@ import java.util.Set; * Class for storing the pending merge operation stats for all the storage nodes. * * @author hakonhall - * @since 5.34 */ public class StorageMergeStats implements Iterable<NodeMergeStats> { diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStats.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStats.java index 21bec495e43..d0afc1fa4b7 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStats.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStats.java @@ -11,7 +11,7 @@ public class StorageNodeStats { final private LatencyStats distributorPutLatency; /** - * @param distributorPutLatency The "put" latency from the point of view of the distributor. + * @param distributorPutLatency the "put" latency from the point of view of the distributor. */ public StorageNodeStats(LatencyStats distributorPutLatency) { this.distributorPutLatency = distributorPutLatency; } public LatencyStats getDistributorPutLatency() { return distributorPutLatency; } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStatsContainer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStatsContainer.java index e23475ca57e..1fb24e72218 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStatsContainer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StorageNodeStatsContainer.java @@ -24,4 +24,5 @@ public class StorageNodeStatsContainer { } public int size() { return storageNodesByIndex.size(); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Timer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Timer.java index fb659e599ba..b50096ba63e 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Timer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/Timer.java @@ -6,5 +6,7 @@ package com.yahoo.vespa.clustercontroller.core; * tests without relying on the speed of the unit test processing. */ public interface Timer { - public long getCurrentTimeInMillis(); + + long getCurrentTimeInMillis(); + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Distributor.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Distributor.java index 5c1c5980ebc..ebedb920b72 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Distributor.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Distributor.java @@ -7,13 +7,15 @@ import java.util.ArrayList; import java.util.List; /** - * Class for handling Distributor part of HostInfo. - * @author dybis - */ + * Class for handling Distributor part of HostInfo. + * + * @author Haakon Dybdahl + */ public class Distributor { @JsonProperty("storage-nodes") private List<StorageNode> storageNodes = new ArrayList<>(); public List<StorageNode> getStorageNodes() { return storageNodes; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/HostInfo.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/HostInfo.java index 77e9f5b890d..a6a3afcf6b2 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/HostInfo.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/HostInfo.java @@ -11,7 +11,8 @@ import java.util.logging.Logger; /** * Parsing and keeping of host info from nodes. - * @author dybis + * + * @author Haakon Dybdahl */ public class HostInfo { @@ -67,4 +68,5 @@ public class HostInfo { } public HostInfo() {} + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Metrics.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Metrics.java index fbf5f848157..cb2a1e92612 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Metrics.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Metrics.java @@ -10,7 +10,8 @@ import java.util.Optional; /** * Keeper for Metrics for HostInfo. - * @author dybis + * + * @author Haakon Dybdahl */ public class Metrics { @@ -67,4 +68,5 @@ public class Metrics { // We initialize it in case the metrics is missing in the JSON. @JsonProperty("values") private ArrayList<Metric> metricsList = new ArrayList<>(); + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNode.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNode.java index 47c28d20c90..9e951236c45 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNode.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNode.java @@ -6,7 +6,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** * Keeping information about a storage node seen from the distributor. - * @author dybis + * + * @author Haakon Dybdahl */ public class StorageNode { @@ -97,4 +98,5 @@ public class StorageNode { public OutstandingMergeOps getOutstandingMergeOpsOrNull() { return outstandingMergeOps; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNodeStatsBridge.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNodeStatsBridge.java index 02516ce79ac..6d0da8a9fba 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNodeStatsBridge.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/StorageNodeStatsBridge.java @@ -13,6 +13,7 @@ import java.util.Map; /** * Class used to create a StorageNodeStatsContainer from HostInfo. + * * @author hakonhall */ public class StorageNodeStatsBridge { @@ -51,4 +52,5 @@ public class StorageNodeStatsBridge { } return new StorageMergeStats(mapToNodeStats); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Vtag.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Vtag.java index fc75bfe898b..39c4366c2c3 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Vtag.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/hostinfo/Vtag.java @@ -6,7 +6,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** * Class for handling version. - * @author dybis + * + * @author Haakon Dybdahl */ public class Vtag { @@ -20,4 +21,5 @@ public class Vtag { public String getVersionOrNull() { return version; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/SystemStateListener.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/SystemStateListener.java index 747c33d0e07..617f91cb837 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/SystemStateListener.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/SystemStateListener.java @@ -4,5 +4,7 @@ package com.yahoo.vespa.clustercontroller.core.listeners; import com.yahoo.vdslib.state.ClusterState; public interface SystemStateListener { - public void handleNewSystemState(ClusterState state); + + void handleNewSystemState(ClusterState state); + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Id.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Id.java index 5305ec177ba..ed5af93d7fb 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Id.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Id.java @@ -11,6 +11,7 @@ package com.yahoo.vespa.clustercontroller.core.restapiv2; import com.yahoo.vdslib.state.NodeType; public class Id { + public static class Cluster extends Id { private final String id; @@ -62,4 +63,5 @@ public class Id { public final int getPartitionIndex() { return id; } public String toString() { return super.toString() + "/" + id; } } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/MissingIdException.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/MissingIdException.java index 41503c9de06..9ee6e960c46 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/MissingIdException.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/MissingIdException.java @@ -5,6 +5,7 @@ import com.yahoo.vdslib.state.Node; import com.yahoo.vespa.clustercontroller.utils.staterestapi.errors.MissingUnitException; public class MissingIdException extends MissingUnitException { + private static String[] createPath(String cluster, Node n) { String[] path = new String[3]; path[0] = cluster; @@ -16,4 +17,5 @@ public class MissingIdException extends MissingUnitException { public MissingIdException(String cluster, Node n) { super(createPath(cluster, n), 1); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/OtherMasterIndexException.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/OtherMasterIndexException.java index 8f5bd638c51..331165b4191 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/OtherMasterIndexException.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/OtherMasterIndexException.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.clustercontroller.core.restapiv2; public class OtherMasterIndexException extends Exception { + private final int index; public OtherMasterIndexException(int index) { @@ -9,4 +10,5 @@ public class OtherMasterIndexException extends Exception { } public int getMasterIndex() { return index; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Request.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Request.java index cb260e7de2a..924614df327 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Request.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Request.java @@ -7,6 +7,7 @@ import com.yahoo.vespa.clustercontroller.utils.staterestapi.errors.StateRestApiE import com.yahoo.vespa.clustercontroller.utils.staterestapi.errors.UnknownMasterException; public abstract class Request<Result> extends RemoteClusterControllerTask { + public enum MasterState { MUST_BE_MASTER, NEED_NOT_BE_MASTER @@ -65,4 +66,5 @@ public abstract class Request<Result> extends RemoteClusterControllerTask { } public abstract Result calculateResult(Context context) throws StateRestApiException, OtherMasterIndexException; + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Response.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Response.java index 032d5775329..26c66fea165 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Response.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/Response.java @@ -12,6 +12,7 @@ import java.util.LinkedHashMap; import java.util.Map; public class Response { + public static class UnitStateImpl implements UnitState { private final String id; private final String reason; @@ -126,4 +127,5 @@ public class Response { public static class ServiceResponse extends EmptyResponse<NodeResponse> {} public static class NodeResponse extends EmptyResponse<PartitionResponse> {} public static class PartitionResponse extends EmptyResponse<UnitResponse> {} + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/UnitPathResolver.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/UnitPathResolver.java index f812ac5d287..4dc73f4d0dd 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/UnitPathResolver.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/UnitPathResolver.java @@ -12,14 +12,19 @@ import java.util.HashMap; import java.util.Map; public class UnitPathResolver<T> { + public interface Visitor<T> { - public Request<? extends T> visitGlobal() throws StateRestApiException; - public Request<? extends T> visitCluster(Id.Cluster id) throws StateRestApiException; - public Request<? extends T> visitService(Id.Service id) throws StateRestApiException; - public Request<? extends T> visitNode(Id.Node id) throws StateRestApiException; - public Request<? extends T> visitPartition(Id.Partition id) throws StateRestApiException; + + Request<? extends T> visitGlobal() throws StateRestApiException; + Request<? extends T> visitCluster(Id.Cluster id) throws StateRestApiException; + Request<? extends T> visitService(Id.Service id) throws StateRestApiException; + Request<? extends T> visitNode(Id.Node id) throws StateRestApiException; + Request<? extends T> visitPartition(Id.Partition id) throws StateRestApiException; + } + public static abstract class AbstractVisitor<T> implements Visitor<T> { + private final String path[]; private final String failureMessage; @@ -36,6 +41,7 @@ public class UnitPathResolver<T> { public Request<? extends T> visitService(Id.Service id) throws StateRestApiException { return fail(); } public Request<? extends T> visitNode(Id.Node id) throws StateRestApiException { return fail(); } public Request<? extends T> visitPartition(Id.Partition id) throws StateRestApiException { return fail(); } + } private final Map<String, RemoteClusterControllerTaskScheduler> fleetControllers; @@ -92,4 +98,5 @@ public class UnitPathResolver<T> { } throw new MissingUnitException(path, 4); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateRequest.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateRequest.java index 80fc56d625c..e298aa64db4 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateRequest.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateRequest.java @@ -18,4 +18,5 @@ public class RPCGetNodeStateRequest extends GetNodeStateRequest { public void abort() { request.abort(); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateWaiter.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateWaiter.java index 858abca325d..06046e7550d 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateWaiter.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCGetNodeStateWaiter.java @@ -59,4 +59,5 @@ public class RPCGetNodeStateWaiter implements RequestWaiter { request.setReply(convertToReply(req)); waiter.done(request); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCSetClusterStateWaiter.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCSetClusterStateWaiter.java index 09e1afa9a3f..39506ddf7fa 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCSetClusterStateWaiter.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCSetClusterStateWaiter.java @@ -54,4 +54,5 @@ public class RPCSetClusterStateWaiter implements RequestWaiter { this.request.setReply(reply); waiter.done(this.request); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java index 444c10b84e3..7f525c438bf 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java @@ -319,4 +319,5 @@ public class RpcServer { } return handledAnyRequests; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/ClusterStateRequestHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/ClusterStateRequestHandler.java index 32032aa48f6..a866c870377 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/ClusterStateRequestHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/ClusterStateRequestHandler.java @@ -7,6 +7,7 @@ import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageRespon import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServer; public class ClusterStateRequestHandler implements StatusPageServer.RequestHandler { + private final StateVersionTracker stateVersionTracker; public ClusterStateRequestHandler(StateVersionTracker stateVersionTracker) { @@ -21,4 +22,5 @@ public class ClusterStateRequestHandler implements StatusPageServer.RequestHandl response.writeContent(cs.toString()); return response; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java index 901f55f6793..2ced8648ced 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java @@ -10,7 +10,7 @@ import java.util.Iterator; import java.util.TimeZone; /** -* @author <a href="mailto:humbe@yahoo-inc.com">Haakon Humberset</a> +* @author Haakon Humberset */ public class LegacyIndexPageRequestHandler implements StatusPageServer.RequestHandler { diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyNodePageRequestHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyNodePageRequestHandler.java index 732bc49f5fe..256730f066a 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyNodePageRequestHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyNodePageRequestHandler.java @@ -12,7 +12,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** -* @author <a href="mailto:humbe@yahoo-inc.com">Haakon Humberset</a> +* @author Haakon Humberset */ public class LegacyNodePageRequestHandler implements StatusPageServer.RequestHandler { diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/NodeHealthRequestHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/NodeHealthRequestHandler.java index 0cca2bd4b6b..a5047b7c106 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/NodeHealthRequestHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/NodeHealthRequestHandler.java @@ -5,9 +5,10 @@ import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageRespon import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServer; /** -* @author <a href="mailto:humbe@yahoo-inc.com">Haakon Humberset</a> +* @author Haakon Humberset */ public class NodeHealthRequestHandler implements StatusPageServer.RequestHandler { + private final RunDataExtractor data; public NodeHealthRequestHandler(RunDataExtractor data) { @@ -34,4 +35,5 @@ public class NodeHealthRequestHandler implements StatusPageServer.RequestHandler response.writeContent(content.toString()); return response; } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/RunDataExtractor.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/RunDataExtractor.java index 128ba10484a..d7df3565062 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/RunDataExtractor.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/RunDataExtractor.java @@ -6,13 +6,13 @@ import com.yahoo.vespa.clustercontroller.core.FleetControllerOptions; import com.yahoo.vespa.clustercontroller.core.ContentCluster; /** - * @author <a href="mailto:humbe@yahoo-inc.com">Haakon Humberset</a> + * @author Haakon Humberset */ public interface RunDataExtractor { - public ClusterState getLatestClusterState(); - public FleetControllerOptions getOptions(); - public long getConfigGeneration(); - public ContentCluster getCluster(); + ClusterState getLatestClusterState(); + FleetControllerOptions getOptions(); + long getConfigGeneration(); + ContentCluster getCluster(); } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/StatusHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/StatusHandler.java index 6c5a069a4b9..ac9634478fa 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/StatusHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/StatusHandler.java @@ -16,12 +16,18 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class StatusHandler implements HttpRequestHandler { + private final static Logger log = Logger.getLogger(StatusHandler.class.getName()); - public static interface ClusterStatusPageServerSet { - public ContainerStatusPageServer get(String cluster); - public Map<String, ContainerStatusPageServer> getAll(); + + public interface ClusterStatusPageServerSet { + + ContainerStatusPageServer get(String cluster); + Map<String, ContainerStatusPageServer> getAll(); + } + public static class ContainerStatusPageServer implements StatusPageServerInterface { + StatusPageServer.HttpRequest request; StatusPageResponse response; // Ensure only only one use the server at a time @@ -64,7 +70,9 @@ public class StatusHandler implements HttpRequestHandler { } } } + } + private static Pattern clusterListRequest = Pattern.compile("^/clustercontroller-status/v1/?$"); private static Pattern statusRequest = Pattern.compile("^/clustercontroller-status/v1/([^/]+)(/.*)?$"); private final ClusterStatusPageServerSet statusClusters; diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java index 53f25056a4c..84850eb344c 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageResponse.java @@ -81,4 +81,5 @@ public class StatusPageResponse { content.append("</body>\n") .append("</html>\n"); } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java index 9e566b47668..ed4192941b4 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServer.java @@ -400,4 +400,5 @@ public class StatusPageServer implements Runnable, StatusPageServerInterface { currentHttpRequest = null; // Avoid fleetcontroller processing request more than once } } + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServerInterface.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServerInterface.java index e8072be7366..c9cc13e1803 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServerInterface.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/StatusPageServerInterface.java @@ -2,9 +2,11 @@ package com.yahoo.vespa.clustercontroller.core.status.statuspage; public interface StatusPageServerInterface { - public int getPort(); - public void shutdown() throws InterruptedException, java.io.IOException; - public void setPort(int port) throws java.io.IOException, InterruptedException; - public StatusPageServer.HttpRequest getCurrentHttpRequest(); - public void answerCurrentStatusRequest(StatusPageResponse r); + + int getPort(); + void shutdown() throws InterruptedException, java.io.IOException; + void setPort(int port) throws java.io.IOException, InterruptedException; + StatusPageServer.HttpRequest getCurrentHttpRequest(); + void answerCurrentStatusRequest(StatusPageResponse r); + } diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/VdsClusterHtmlRendrer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/VdsClusterHtmlRendrer.java index a79f053619d..2ed98855121 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/VdsClusterHtmlRendrer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/statuspage/VdsClusterHtmlRendrer.java @@ -22,6 +22,7 @@ import java.util.TreeMap; * Renders webpage with status regarding cluster. */ public class VdsClusterHtmlRendrer { + private static final TimeZone utcTimeZone = TimeZone.getTimeZone("UTC"); public static class Table { @@ -301,4 +302,5 @@ public class VdsClusterHtmlRendrer { public Table createNewClusterHtmlTable(final String clusterName, final int slobrokGenerationCount) { return new Table(clusterName, slobrokGenerationCount); } + } |