aboutsummaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-04-13 22:19:36 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-04-13 22:19:36 +0200
commitec4e295270f95e36719b7fbbf660125b871bf489 (patch)
tree4c69c3db84bf45b8efcafaaaf673c1d8e0e1ec5f /documentapi
parentb542fb6b05da7af5c0cda231231d3858bcd9b3d6 (diff)
Remove some unused metrics code and dewire it.
Diffstat (limited to 'documentapi')
-rw-r--r--documentapi/abi-spec.json61
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ANDPolicy.java5
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java11
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocolRoutingPolicy.java4
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentRouteSelectorPolicy.java8
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ErrorPolicy.java6
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java6
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java54
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java14
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java16
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java10
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java5
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepository.java13
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java8
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java16
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java17
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepositoryTest.java4
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/LoadBalancerTestCase.java35
-rwxr-xr-xdocumentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyFactoryTestCase.java13
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/storagepolicy/Simulator.java6
20 files changed, 86 insertions, 226 deletions
diff --git a/documentapi/abi-spec.json b/documentapi/abi-spec.json
index 67569ed99fa..cbfe07eb93d 100644
--- a/documentapi/abi-spec.json
+++ b/documentapi/abi-spec.json
@@ -1421,8 +1421,7 @@
"public void <init>(java.lang.String)",
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void destroy()"
],
"fields": []
},
@@ -1723,7 +1722,6 @@
"public byte[] encode(com.yahoo.component.Version, com.yahoo.messagebus.Routable)",
"public com.yahoo.messagebus.Routable decode(com.yahoo.component.Version, byte[])",
"public java.util.List getRoutableTypes(com.yahoo.component.Version)",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()",
"public final com.yahoo.document.DocumentTypeManager getDocumentTypeManager()"
],
"fields": [
@@ -1804,9 +1802,7 @@
"interface",
"abstract"
],
- "methods": [
- "public abstract com.yahoo.messagebus.metrics.MetricSet getMetrics()"
- ],
+ "methods": [],
"fields": []
},
"com.yahoo.documentapi.messagebus.protocol.DocumentReply": {
@@ -1840,7 +1836,6 @@
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
"public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()",
"public bridge synthetic void configure(com.yahoo.config.ConfigInstance)"
],
"fields": []
@@ -2008,8 +2003,7 @@
"public void <init>(java.lang.String)",
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void destroy()"
],
"fields": []
},
@@ -2027,8 +2021,7 @@
"public com.yahoo.jrt.slobrok.api.Mirror getMirror()",
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void destroy()"
],
"fields": []
},
@@ -2175,17 +2168,6 @@
],
"fields": []
},
- "com.yahoo.documentapi.messagebus.protocol.LoadBalancer$Metrics": {
- "superClass": "com.yahoo.messagebus.metrics.MetricSet",
- "interfaces": [],
- "attributes": [
- "public"
- ],
- "methods": [
- "public void <init>(java.lang.String)"
- ],
- "fields": []
- },
"com.yahoo.documentapi.messagebus.protocol.LoadBalancer$Node": {
"superClass": "java.lang.Object",
"interfaces": [],
@@ -2201,18 +2183,18 @@
]
},
"com.yahoo.documentapi.messagebus.protocol.LoadBalancer$NodeMetrics": {
- "superClass": "com.yahoo.messagebus.metrics.MetricSet",
+ "superClass": "java.lang.Object",
"interfaces": [],
"attributes": [
"public"
],
"methods": [
- "public void <init>(java.lang.String, com.yahoo.messagebus.metrics.MetricSet)"
+ "public void <init>()"
],
"fields": [
- "public com.yahoo.messagebus.metrics.CountMetric sent",
- "public com.yahoo.messagebus.metrics.CountMetric busy",
- "public com.yahoo.messagebus.metrics.ValueMetric weight"
+ "public java.util.concurrent.atomic.AtomicLong sent",
+ "public java.util.concurrent.atomic.AtomicLong busy",
+ "public double weight"
]
},
"com.yahoo.documentapi.messagebus.protocol.LoadBalancer": {
@@ -2222,7 +2204,7 @@
"public"
],
"methods": [
- "public void <init>(java.lang.String, java.lang.String, com.yahoo.documentapi.messagebus.protocol.LoadBalancer$Metrics)",
+ "public void <init>(java.lang.String)",
"public java.util.List getNodeWeights()",
"public int getIndex(java.lang.String)",
"public com.yahoo.documentapi.messagebus.protocol.LoadBalancer$Node getRecipient(com.yahoo.jrt.slobrok.api.Mirror$Entry[])",
@@ -2238,8 +2220,7 @@
],
"methods": [
"public void doSelect(com.yahoo.messagebus.routing.RoutingContext)",
- "public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void merge(com.yahoo.messagebus.routing.RoutingContext)"
],
"fields": []
},
@@ -2252,11 +2233,9 @@
"public"
],
"methods": [
- "public void <init>(java.lang.String)",
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void destroy()"
],
"fields": []
},
@@ -2286,11 +2265,9 @@
"public"
],
"methods": [
- "public void <init>(java.lang.String)",
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
"public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()",
"public void configure(com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig)",
"public bridge synthetic void configure(com.yahoo.config.ConfigInstance)"
],
@@ -2399,8 +2376,7 @@
"public void <init>()",
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void destroy()"
],
"fields": []
},
@@ -3106,10 +3082,11 @@
"public void init()",
"public void doSelect(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void destroy()"
],
- "fields": []
+ "fields": [
+ "public static final java.lang.String owningBucketStates"
+ ]
},
"com.yahoo.documentapi.messagebus.protocol.SubsetServicePolicy": {
"superClass": "java.lang.Object",
@@ -3120,11 +3097,9 @@
"public"
],
"methods": [
- "public void <init>(java.lang.String)",
"public void select(com.yahoo.messagebus.routing.RoutingContext)",
"public void merge(com.yahoo.messagebus.routing.RoutingContext)",
- "public void destroy()",
- "public com.yahoo.messagebus.metrics.MetricSet getMetrics()"
+ "public void destroy()"
],
"fields": []
},
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ANDPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ANDPolicy.java
index dbf68106e07..5e6aae46989 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ANDPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ANDPolicy.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.documentapi.messagebus.protocol;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.Hop;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
@@ -60,8 +59,4 @@ public class ANDPolicy implements DocumentProtocolRoutingPolicy {
public void destroy() {
}
-
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java
index 590a770624f..16ab9a017d0 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java
@@ -8,12 +8,10 @@ import com.yahoo.component.VersionSpecification;
import com.yahoo.document.DocumentTypeManager;
import com.yahoo.document.DocumentTypeManagerConfigurer;
import com.yahoo.documentapi.messagebus.loadtypes.LoadTypeSet;
-import com.yahoo.documentapi.metrics.DocumentProtocolMetricSet;
import com.yahoo.messagebus.ErrorCode;
import com.yahoo.messagebus.Protocol;
import com.yahoo.messagebus.Reply;
import com.yahoo.messagebus.Routable;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.RoutingContext;
import com.yahoo.messagebus.routing.RoutingNodeIterator;
import com.yahoo.messagebus.routing.RoutingPolicy;
@@ -34,8 +32,7 @@ import java.util.logging.Logger;
public class DocumentProtocol implements Protocol {
private static final Logger log = Logger.getLogger(DocumentProtocol.class.getName());
- private final DocumentProtocolMetricSet metrics = new DocumentProtocolMetricSet();
- private final RoutingPolicyRepository routingPolicyRepository = new RoutingPolicyRepository(metrics);
+ private final RoutingPolicyRepository routingPolicyRepository = new RoutingPolicyRepository();
private final RoutableRepository routableRepository;
private final DocumentTypeManager docMan;
@@ -232,7 +229,7 @@ public class DocumentProtocol implements Protocol {
private final int val;
- private Priority(int val) {
+ Priority(int val) {
this.val = val;
}
@@ -562,9 +559,5 @@ public class DocumentProtocol implements Protocol {
return routableRepository.getRoutableTypes(version);
}
- public MetricSet getMetrics() {
- return metrics;
- }
-
final public DocumentTypeManager getDocumentTypeManager() { return docMan; }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocolRoutingPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocolRoutingPolicy.java
index a6a06afa45e..77bc904ab12 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocolRoutingPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocolRoutingPolicy.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.documentapi.messagebus.protocol;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.RoutingPolicy;
@@ -9,7 +8,4 @@ import com.yahoo.messagebus.routing.RoutingPolicy;
* @author thomasg
*/
public interface DocumentProtocolRoutingPolicy extends RoutingPolicy {
-
- MetricSet getMetrics();
-
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentRouteSelectorPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentRouteSelectorPolicy.java
index c3204c7b5e2..bdb65b28de0 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentRouteSelectorPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentRouteSelectorPolicy.java
@@ -2,15 +2,11 @@
package com.yahoo.documentapi.messagebus.protocol;
import com.yahoo.config.subscription.ConfigSubscriber;
-import com.yahoo.document.Document;
import com.yahoo.document.DocumentGet;
-import com.yahoo.document.DocumentPut;
-import com.yahoo.document.DocumentType;
import com.yahoo.document.select.DocumentSelector;
import com.yahoo.document.select.Result;
import com.yahoo.log.LogLevel;
import com.yahoo.messagebus.Message;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
@@ -181,8 +177,4 @@ public class DocumentRouteSelectorPolicy
}
}
- @Override
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ErrorPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ErrorPolicy.java
index b0b662d1e70..f70128618c5 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ErrorPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ErrorPolicy.java
@@ -2,7 +2,6 @@
package com.yahoo.documentapi.messagebus.protocol;
import com.yahoo.messagebus.EmptyReply;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.RoutingContext;
/**
@@ -36,9 +35,4 @@ public class ErrorPolicy implements DocumentProtocolRoutingPolicy {
public void destroy() {
}
-
-
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java
index 051ec44dd07..312fd6e5964 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java
@@ -6,7 +6,6 @@ import com.yahoo.jrt.Transport;
import com.yahoo.jrt.slobrok.api.Mirror;
import com.yahoo.jrt.slobrok.api.SlobrokList;
import com.yahoo.messagebus.ErrorCode;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.Hop;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
@@ -141,9 +140,4 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy {
mirror.shutdown();
orb.transport().shutdown().join();
}
-
- @Override
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java
index 6a27546ce58..167a480e1aa 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java
@@ -2,12 +2,10 @@
package com.yahoo.documentapi.messagebus.protocol;
import com.yahoo.jrt.slobrok.api.Mirror;
-import com.yahoo.messagebus.metrics.CountMetric;
-import com.yahoo.messagebus.metrics.MetricSet;
-import com.yahoo.messagebus.metrics.ValueMetric;
-import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.atomic.AtomicLong;
/**
* Load balances over a set of nodes based on statistics gathered from those nodes.
@@ -16,24 +14,10 @@ import java.util.List;
*/
public class LoadBalancer {
- public static class NodeMetrics extends MetricSet {
- public CountMetric sent = new CountMetric("sent", this);
- public CountMetric busy = new CountMetric("busy", this);
- public ValueMetric<Double> weight = new ValueMetric<Double>("weight", 1.0, this);
-
- public NodeMetrics(String name, MetricSet owner) {
- super(name);
- owner.addMetric(this);
- }
- }
-
- public static class Metrics extends MetricSet {
- MetricSet targets = new MetricSet("nodes");
-
- public Metrics(String name) {
- super(name);
- addMetric(targets);
- }
+ public static class NodeMetrics {
+ public AtomicLong sent = new AtomicLong();
+ public AtomicLong busy = new AtomicLong();
+ public double weight = 1.0;
}
public static class Node {
@@ -44,14 +28,12 @@ public class LoadBalancer {
}
/** Statistics on each node we are load balancing over. Populated lazily. */
- private List<NodeMetrics> nodeWeights = new ArrayList<NodeMetrics>();
+ private List<NodeMetrics> nodeWeights = new CopyOnWriteArrayList<>();
- private Metrics metrics;
private String cluster;
private double position = 0.0;
- public LoadBalancer(String cluster, String session, Metrics metrics) {
- this.metrics = metrics;
+ public LoadBalancer(String cluster) {
this.cluster = cluster;
}
@@ -88,7 +70,7 @@ public class LoadBalancer {
for (Mirror.Entry entry : choices) {
NodeMetrics nodeMetrics = getNodeMetrics(entry);
- weightSum += nodeMetrics.weight.get();
+ weightSum += nodeMetrics.weight;
if (weightSum > position) {
selectedNode = new Node(entry, nodeMetrics);
@@ -100,7 +82,7 @@ public class LoadBalancer {
selectedNode = new Node(choices[0], getNodeMetrics(choices[0]));
}
position += 1.0;
- selectedNode.metrics.sent.inc(1);
+ selectedNode.metrics.sent.incrementAndGet();
return selectedNode;
}
@@ -116,7 +98,7 @@ public class LoadBalancer {
NodeMetrics nodeMetrics = nodeWeights.get(index);
if (nodeMetrics == null) { // initialize statistics for this node
- nodeMetrics = new NodeMetrics("node_" + index, metrics.targets);
+ nodeMetrics = new NodeMetrics();
nodeWeights.set(index, nodeMetrics);
}
return nodeMetrics;
@@ -126,25 +108,25 @@ public class LoadBalancer {
private void increaseWeights() {
for (NodeMetrics n : nodeWeights) {
if (n == null) continue;
- double want = n.weight.get() * 1.01010101010101010101;
+ double want = n.weight * 1.01010101010101010101;
if (want >= 1.0) {
- n.weight.set(want);
+ n.weight = want;
} else {
- n.weight.set(1.0);
+ n.weight = 1.0;
}
}
}
public void received(Node node, boolean busy) {
if (busy) {
- double wantWeight = node.metrics.weight.get() - 0.01;
+ double wantWeight = node.metrics.weight - 0.01;
if (wantWeight < 1.0) {
increaseWeights();
- node.metrics.weight.set(1.0);
+ node.metrics.weight = 1.0;
} else {
- node.metrics.weight.set(wantWeight);
+ node.metrics.weight = wantWeight;
}
- node.metrics.busy.inc(1);
+ node.metrics.busy.incrementAndGet();
}
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java
index bf51265627f..7c5345351a8 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java
@@ -4,7 +4,6 @@ package com.yahoo.documentapi.messagebus.protocol;
import com.yahoo.jrt.slobrok.api.Mirror;
import com.yahoo.messagebus.ErrorCode;
import com.yahoo.messagebus.Reply;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.Hop;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
@@ -27,14 +26,13 @@ public class LoadBalancerPolicy extends ExternalSlobrokPolicy {
private final String session;
private final String pattern;
- LoadBalancer.Metrics metrics;
private LoadBalancer loadBalancer;
LoadBalancerPolicy(String param) {
- this(param, parse(param));
+ this(parse(param));
}
- private LoadBalancerPolicy(String param, Map<String, String> params) {
+ private LoadBalancerPolicy(Map<String, String> params) {
super(params);
String cluster = params.get("cluster");
@@ -52,10 +50,8 @@ public class LoadBalancerPolicy extends ExternalSlobrokPolicy {
return;
}
- metrics = new LoadBalancer.Metrics(param);
- metrics.setXmlTagName("loadbalancer");
pattern = cluster + "/*/" + session;
- loadBalancer = new LoadBalancer(cluster, session, metrics);
+ loadBalancer = new LoadBalancer(cluster);
}
@Override
@@ -98,8 +94,4 @@ public class LoadBalancerPolicy extends ExternalSlobrokPolicy {
context.setReply(reply);
}
-
- public MetricSet getMetrics() {
- return metrics;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java
index e27479a4995..eb56a85e378 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java
@@ -2,8 +2,10 @@
package com.yahoo.documentapi.messagebus.protocol;
import com.yahoo.jrt.slobrok.api.Mirror;
-import com.yahoo.messagebus.metrics.MetricSet;
-import com.yahoo.messagebus.routing.*;
+import com.yahoo.messagebus.routing.Hop;
+import com.yahoo.messagebus.routing.Route;
+import com.yahoo.messagebus.routing.RoutingContext;
+import com.yahoo.messagebus.routing.VerbatimDirective;
import java.util.ArrayList;
import java.util.HashMap;
@@ -18,7 +20,7 @@ import java.util.Map;
public class LocalServicePolicy implements DocumentProtocolRoutingPolicy {
private final String localAddress;
- private Map<String, CacheEntry> cache = new HashMap<String, CacheEntry>();
+ private Map<String, CacheEntry> cache = new HashMap<>();
/**
* Constructs a policy that will choose local services that match the slobrok pattern in which this policy occured.
@@ -26,7 +28,7 @@ public class LocalServicePolicy implements DocumentProtocolRoutingPolicy {
*
* @param param The address to use for this, if empty this will resolve to hostname.
*/
- public LocalServicePolicy(String param) {
+ LocalServicePolicy(String param) {
localAddress = (param != null && param.length() > 0) ? param : null;
}
@@ -107,7 +109,7 @@ public class LocalServicePolicy implements DocumentProtocolRoutingPolicy {
* Defines the necessary cache data.
*/
private class CacheEntry {
- private final List<Hop> recipients = new ArrayList<Hop>();
+ private final List<Hop> recipients = new ArrayList<>();
private int generation = 0;
private int offset = 0;
}
@@ -131,8 +133,4 @@ public class LocalServicePolicy implements DocumentProtocolRoutingPolicy {
public void destroy() {
}
-
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java
index a5b3accac68..4226c1e6cac 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java
@@ -2,7 +2,6 @@
package com.yahoo.documentapi.messagebus.protocol;
import com.yahoo.config.subscription.ConfigSubscriber;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
import com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig;
@@ -15,11 +14,11 @@ import java.util.concurrent.atomic.AtomicReference;
*/
public class MessageTypePolicy implements DocumentProtocolRoutingPolicy, ConfigSubscriber.SingleSubscriber<MessagetyperouteselectorpolicyConfig> {
- private final AtomicReference<Map<Integer, Route>> configRef = new AtomicReference<Map<Integer, Route>>();
+ private final AtomicReference<Map<Integer, Route>> configRef = new AtomicReference<>();
private ConfigSubscriber subscriber;
private volatile Route defaultRoute;
- public MessageTypePolicy(String configId) {
+ MessageTypePolicy(String configId) {
subscriber = new ConfigSubscriber();
subscriber.subscribe(this, MessagetyperouteselectorpolicyConfig.class, configId);
}
@@ -45,11 +44,6 @@ public class MessageTypePolicy implements DocumentProtocolRoutingPolicy, ConfigS
}
@Override
- public MetricSet getMetrics() {
- return null;
- }
-
- @Override
public void configure(MessagetyperouteselectorpolicyConfig cfg) {
Map<Integer, Route> h = new HashMap<>();
for (MessagetyperouteselectorpolicyConfig.Route selector : cfg.route()) {
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java
index 32becdb43fe..244d101b36f 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java
@@ -6,7 +6,6 @@ import com.yahoo.messagebus.EmptyReply;
import com.yahoo.messagebus.Error;
import com.yahoo.messagebus.ErrorCode;
import com.yahoo.messagebus.Reply;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.Hop;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
@@ -118,8 +117,4 @@ public class RoundRobinPolicy implements DocumentProtocolRoutingPolicy {
public void destroy() {
}
-
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepository.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepository.java
index 05bbb919805..098e0efc41c 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepository.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepository.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.documentapi.messagebus.protocol;
-import com.yahoo.documentapi.metrics.DocumentProtocolMetricSet;
import com.yahoo.messagebus.routing.RoutingPolicy;
import com.yahoo.log.LogLevel;
@@ -16,10 +15,8 @@ class RoutingPolicyRepository {
private static final Logger log = Logger.getLogger(RoutingPolicyRepository.class.getName());
private final Map<String, RoutingPolicyFactory> factories = new ConcurrentHashMap<String, RoutingPolicyFactory>();
- private final DocumentProtocolMetricSet metrics;
- RoutingPolicyRepository(DocumentProtocolMetricSet metrics) {
- this.metrics = metrics;
+ RoutingPolicyRepository() {
}
/**
@@ -38,7 +35,7 @@ class RoutingPolicyRepository {
* @param name The name of the factory to return.
* @return The routing policy factory matching the criteria, or null.
*/
- RoutingPolicyFactory getFactory(String name) {
+ private RoutingPolicyFactory getFactory(String name) {
return factories.get(name);
}
@@ -55,7 +52,7 @@ class RoutingPolicyRepository {
log.log(LogLevel.ERROR, "No routing policy factory found for name '" + name + "'.");
return null;
}
- final DocumentProtocolRoutingPolicy ret = factory.createPolicy(param);
+ DocumentProtocolRoutingPolicy ret = factory.createPolicy(param);
if (ret == null) {
log.log(LogLevel.ERROR, "Routing policy factory " + factory.getClass().getName() + " failed to create a " +
@@ -63,10 +60,6 @@ class RoutingPolicyRepository {
return null;
}
- if (ret.getMetrics() != null) {
- metrics.routingPolicyMetrics.addMetric(ret.getMetrics());
- }
-
return ret;
}
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java
index 69bd6dcca00..341589643d2 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java
@@ -13,7 +13,6 @@ import com.yahoo.messagebus.Error;
import com.yahoo.messagebus.ErrorCode;
import com.yahoo.messagebus.Message;
import com.yahoo.messagebus.Reply;
-import com.yahoo.messagebus.metrics.MetricSet;
import com.yahoo.messagebus.routing.Hop;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
@@ -46,7 +45,7 @@ import java.util.logging.Logger;
public class StoragePolicy extends ExternalSlobrokPolicy {
private static final Logger log = Logger.getLogger(StoragePolicy.class.getName());
- private static final String owningBucketStates = "uim";
+ public static final String owningBucketStates = "uim";
private static final String upStates = "ui";
/** This class merely generates slobrok a host pattern for a given distributor. */
@@ -568,9 +567,4 @@ public class StoragePolicy extends ExternalSlobrokPolicy {
public void destroy() {
distributorSelectionLogic.destroy();
}
-
- @Override
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java
index d6499c196f4..31802f2872f 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java
@@ -3,8 +3,10 @@ package com.yahoo.documentapi.messagebus.protocol;
import com.yahoo.jrt.slobrok.api.Mirror;
import com.yahoo.log.LogLevel;
-import com.yahoo.messagebus.metrics.MetricSet;
-import com.yahoo.messagebus.routing.*;
+import com.yahoo.messagebus.routing.Hop;
+import com.yahoo.messagebus.routing.Route;
+import com.yahoo.messagebus.routing.RoutingContext;
+import com.yahoo.messagebus.routing.VerbatimDirective;
import java.util.ArrayList;
import java.util.HashMap;
@@ -21,7 +23,7 @@ public class SubsetServicePolicy implements DocumentProtocolRoutingPolicy {
private static Logger log = Logger.getLogger(SubsetServicePolicy.class.getName());
private final int subsetSize;
- private final Map<String, CacheEntry> cache = new HashMap<String, CacheEntry>();
+ private final Map<String, CacheEntry> cache = new HashMap<>();
/**
* Creates an instance of a subset service policy. The parameter string is parsed as an integer number that is the
@@ -29,7 +31,7 @@ public class SubsetServicePolicy implements DocumentProtocolRoutingPolicy {
*
* @param param The number of services to include in the set.
*/
- public SubsetServicePolicy(String param) {
+ SubsetServicePolicy(String param) {
int subsetSize = 5;
if (param != null && param.length() > 0) {
try {
@@ -131,15 +133,11 @@ public class SubsetServicePolicy implements DocumentProtocolRoutingPolicy {
* Defines the necessary cache data.
*/
private class CacheEntry {
- private final List<Hop> recipients = new ArrayList<Hop>();
+ private final List<Hop> recipients = new ArrayList<>();
private int generation = 0;
private int offset = 0;
}
public void destroy() {
}
-
- public MetricSet getMetrics() {
- return null;
- }
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java b/documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java
deleted file mode 100644
index 2a4e7997b38..00000000000
--- a/documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java
+++ /dev/null
@@ -1,17 +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.documentapi.metrics;
-
-import com.yahoo.messagebus.metrics.MetricSet;
-
-/**
- * @author thomasg
- */
-public class DocumentProtocolMetricSet extends MetricSet {
- public MetricSet routingPolicyMetrics = new MetricSet("routingpolicies");
-
- public DocumentProtocolMetricSet() {
- super("document");
- addMetric(routingPolicyMetrics);
- }
-
-}
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepositoryTest.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepositoryTest.java
index 060f8010948..c86a591de60 100644
--- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepositoryTest.java
+++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/RoutingPolicyRepositoryTest.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.documentapi.messagebus.protocol;
-import com.yahoo.documentapi.metrics.DocumentProtocolMetricSet;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -17,8 +16,7 @@ public class RoutingPolicyRepositoryTest {
@Test
public void policy_creation_does_not_swallow_exception() {
- final DocumentProtocolMetricSet metrics = new DocumentProtocolMetricSet();
- final RoutingPolicyRepository repo = new RoutingPolicyRepository(metrics);
+ final RoutingPolicyRepository repo = new RoutingPolicyRepository();
final RoutingPolicyFactory factory = mock(RoutingPolicyFactory.class);
when(factory.createPolicy(anyString())).thenThrow(new IllegalArgumentException("oh no!"));
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/LoadBalancerTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/LoadBalancerTestCase.java
index 284e338394f..698b778c312 100644
--- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/LoadBalancerTestCase.java
+++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/LoadBalancerTestCase.java
@@ -3,12 +3,9 @@ package com.yahoo.documentapi.messagebus.protocol.test;
import com.yahoo.documentapi.messagebus.protocol.LoadBalancer;
import com.yahoo.jrt.slobrok.api.Mirror;
-import com.yahoo.text.XMLWriter;
import org.junit.Test;
-import java.io.PrintWriter;
import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@@ -33,8 +30,7 @@ public class LoadBalancerTestCase {
}
private static void assertIllegalArgument(String clusterName, String recipient, String expectedMessage) {
- LoadBalancer.Metrics metric = new LoadBalancer.Metrics("");
- LoadBalancer policy = new LoadBalancer(clusterName, "", metric);
+ LoadBalancer policy = new LoadBalancer(clusterName);
try {
fail("Expected exception, got index " + policy.getIndex(recipient) + ".");
} catch (IllegalArgumentException e) {
@@ -44,8 +40,7 @@ public class LoadBalancerTestCase {
@Test
public void testLoadBalancer() {
- LoadBalancer.Metrics m = new LoadBalancer.Metrics("");
- LoadBalancer lb = new LoadBalancer("foo", "", m);
+ LoadBalancer lb = new LoadBalancer("foo");
Mirror.Entry[] entries = new Mirror.Entry[]{ new Mirror.Entry("foo/0/default", "tcp/bar:1"),
new Mirror.Entry("foo/1/default", "tcp/bar:2"),
@@ -58,13 +53,13 @@ public class LoadBalancerTestCase {
assertEquals("foo/" + (i % 3) + "/default" , node.entry.getName());
}
- assertEquals(33, weights.get(0).sent.get().intValue());
- assertEquals(33, weights.get(1).sent.get().intValue());
- assertEquals(33, weights.get(2).sent.get().intValue());
+ assertEquals(33, weights.get(0).sent.intValue());
+ assertEquals(33, weights.get(1).sent.intValue());
+ assertEquals(33, weights.get(2).sent.intValue());
- weights.get(0).sent.set(new AtomicLong(0));
- weights.get(1).sent.set(new AtomicLong(0));
- weights.get(2).sent.set(new AtomicLong(0));
+ weights.get(0).sent.set(0);
+ weights.get(1).sent.set(0);
+ weights.get(2).sent.set(0);
}
{
@@ -83,13 +78,9 @@ public class LoadBalancerTestCase {
lb.received(new LoadBalancer.Node(new Mirror.Entry("foo/1/default", "tcp/bar:2"), weights.get(1)), false);
}
- PrintWriter writer = new PrintWriter(System.out);
- m.toXML(new XMLWriter(writer));
- writer.flush();
-
- assertEquals(421, (int)(100 * weights.get(0).weight.get() / weights.get(1).weight.get()));
- assertEquals(100, (int)(100 * weights.get(1).weight.get()));
- assertEquals(421, (int)(100 * weights.get(2).weight.get() / weights.get(1).weight.get()));
+ assertEquals(421, (int)(100 * weights.get(0).weight / weights.get(1).weight));
+ assertEquals(100, (int)(100 * weights.get(1).weight));
+ assertEquals(421, (int)(100 * weights.get(2).weight / weights.get(1).weight));
}
@@ -107,8 +98,7 @@ public class LoadBalancerTestCase {
@Test
public void testLoadBalancerOneItemOnly() {
- LoadBalancer.Metrics m = new LoadBalancer.Metrics("");
- LoadBalancer lb = new LoadBalancer("foo", "", m);
+ LoadBalancer lb = new LoadBalancer("foo");
Mirror.Entry[] entries = new Mirror.Entry[]{ new Mirror.Entry("foo/0/default", "tcp/bar:1") };
List<LoadBalancer.NodeMetrics> weights = lb.getNodeWeights();
@@ -120,5 +110,4 @@ public class LoadBalancerTestCase {
assertEquals("foo/0/default" , lb.getRecipient(entries).entry.getName());
}
-
}
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyFactoryTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyFactoryTestCase.java
index 8f2fee880e6..1f8a783d417 100755
--- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyFactoryTestCase.java
+++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyFactoryTestCase.java
@@ -9,8 +9,13 @@ import com.yahoo.documentapi.messagebus.protocol.RemoveDocumentMessage;
import com.yahoo.documentapi.messagebus.protocol.RoutingPolicyFactory;
import com.yahoo.jrt.ListenFailedException;
import com.yahoo.jrt.slobrok.server.Slobrok;
-import com.yahoo.messagebus.*;
-import com.yahoo.messagebus.metrics.MetricSet;
+import com.yahoo.messagebus.ErrorCode;
+import com.yahoo.messagebus.Message;
+import com.yahoo.messagebus.MessageBusParams;
+import com.yahoo.messagebus.Protocol;
+import com.yahoo.messagebus.Reply;
+import com.yahoo.messagebus.SourceSession;
+import com.yahoo.messagebus.SourceSessionParams;
import com.yahoo.messagebus.network.rpc.RPCNetworkParams;
import com.yahoo.messagebus.network.rpc.test.TestServer;
import com.yahoo.messagebus.routing.Route;
@@ -104,10 +109,6 @@ public class PolicyFactoryTestCase {
public void destroy() {
}
-
- public MetricSet getMetrics() {
- return null;
- }
}
}
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/storagepolicy/Simulator.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/storagepolicy/Simulator.java
index 10183471ffd..f0e31295d3f 100644
--- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/storagepolicy/Simulator.java
+++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/storagepolicy/Simulator.java
@@ -8,7 +8,11 @@ import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol;
import com.yahoo.documentapi.messagebus.protocol.StoragePolicy;
import com.yahoo.messagebus.routing.RoutingNode;
import com.yahoo.vdslib.distribution.RandomGen;
-import com.yahoo.vdslib.state.*;
+import com.yahoo.vdslib.state.ClusterState;
+import com.yahoo.vdslib.state.Node;
+import com.yahoo.vdslib.state.NodeState;
+import com.yahoo.vdslib.state.NodeType;
+import com.yahoo.vdslib.state.State;
import java.util.Map;
import java.util.TreeMap;