aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src/main/java/com
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-04-08 09:41:33 +0200
committerHarald Musum <musum@verizonmedia.com>2021-04-08 09:41:33 +0200
commit52a5aa107a526326022b0a5779a54f6b48f585e5 (patch)
tree70f96190f0de4e6fd699fa3dfb9d3ad566cc1b65 /clustercontroller-core/src/main/java/com
parent710092a282bd71f363901831d3feeeca43c64d08 (diff)
parent0f8387d7f21d392f9d7ab5ee60b10acce1dff4d8 (diff)
Merge branch 'master' into hmusum/cleanup-7
Diffstat (limited to 'clustercontroller-core/src/main/java/com')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/FleetController.java34
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MetricUpdater.java6
2 files changed, 24 insertions, 16 deletions
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 2f79393a020..75eea998346 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
@@ -170,7 +170,7 @@ public class FleetController implements NodeStateOrHostInfoChangeHandler, NodeAd
StatusPageServerInterface statusPageServer,
MetricReporter metricReporter) throws Exception {
Timer timer = new RealTimer();
- MetricUpdater metricUpdater = new MetricUpdater(metricReporter, options.fleetControllerIndex);
+ MetricUpdater metricUpdater = new MetricUpdater(metricReporter, options.fleetControllerIndex, options.clusterName);
EventLog log = new EventLog(timer, metricUpdater);
ContentCluster cluster = new ContentCluster(
options.clusterName,
@@ -757,21 +757,25 @@ public class FleetController implements NodeStateOrHostInfoChangeHandler, NodeAd
}
private boolean processNextQueuedRemoteTask() {
- if ( ! remoteTasks.isEmpty()) {
- final RemoteClusterControllerTask.Context context = createRemoteTaskProcessingContext();
- final RemoteClusterControllerTask task = remoteTasks.poll();
- log.finest(() -> String.format("Processing remote task of type '%s'", task.getClass().getName()));
- task.doRemoteFleetControllerTask(context);
- if (taskMayBeCompletedImmediately(task)) {
- log.finest(() -> String.format("Done processing remote task of type '%s'", task.getClass().getName()));
- task.notifyCompleted();
- } else {
- log.finest(() -> String.format("Remote task of type '%s' queued until state recomputation", task.getClass().getName()));
- tasksPendingStateRecompute.add(task);
- }
- return true;
+ metricUpdater.updateRemoteTaskQueueSize(remoteTasks.size());
+
+ RemoteClusterControllerTask task = remoteTasks.poll();
+ if (task == null) {
+ return false;
}
- return false;
+
+ final RemoteClusterControllerTask.Context context = createRemoteTaskProcessingContext();
+ log.finest(() -> String.format("Processing remote task of type '%s'", task.getClass().getName()));
+ task.doRemoteFleetControllerTask(context);
+ if (taskMayBeCompletedImmediately(task)) {
+ log.finest(() -> String.format("Done processing remote task of type '%s'", task.getClass().getName()));
+ task.notifyCompleted();
+ } else {
+ log.finest(() -> String.format("Remote task of type '%s' queued until state recomputation", task.getClass().getName()));
+ tasksPendingStateRecompute.add(task);
+ }
+
+ return true;
}
private boolean taskMayBeCompletedImmediately(RemoteClusterControllerTask task) {
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MetricUpdater.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MetricUpdater.java
index 6a80772904f..94b6f412ce6 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MetricUpdater.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MetricUpdater.java
@@ -14,9 +14,10 @@ public class MetricUpdater {
private final ComponentMetricReporter metricReporter;
- public MetricUpdater(MetricReporter metricReporter, int controllerIndex) {
+ public MetricUpdater(MetricReporter metricReporter, int controllerIndex, String clusterName) {
this.metricReporter = new ComponentMetricReporter(metricReporter, "cluster-controller.");
this.metricReporter.addDimension("controller-index", String.valueOf(controllerIndex));
+ this.metricReporter.addDimension("clusterid", clusterName);
}
public MetricReporter.Context createContext(Map<String, String> dimensions) {
@@ -99,4 +100,7 @@ public class MetricUpdater {
metricReporter.add("node-event", 1);
}
+ public void updateRemoteTaskQueueSize(int size) {
+ metricReporter.set("remote-task-queue.size", size);
+ }
}