summaryrefslogtreecommitdiffstats
path: root/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ContentPolicy.java
diff options
context:
space:
mode:
Diffstat (limited to 'documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ContentPolicy.java')
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ContentPolicy.java28
1 files changed, 10 insertions, 18 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ContentPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ContentPolicy.java
index f8e6989bbfa..c03231543df 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ContentPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ContentPolicy.java
@@ -6,6 +6,7 @@ import com.yahoo.document.BucketId;
import com.yahoo.document.BucketIdFactory;
import com.yahoo.jrt.slobrok.api.IMirror;
import com.yahoo.jrt.slobrok.api.Mirror;
+import java.util.logging.Level;
import com.yahoo.messagebus.EmptyReply;
import com.yahoo.messagebus.Error;
import com.yahoo.messagebus.ErrorCode;
@@ -21,7 +22,6 @@ import com.yahoo.vdslib.state.ClusterState;
import com.yahoo.vdslib.state.Node;
import com.yahoo.vdslib.state.NodeType;
import com.yahoo.vdslib.state.State;
-import com.yahoo.vespa.config.content.DistributionConfig;
import java.util.ArrayList;
import java.util.Collections;
@@ -32,7 +32,6 @@ import java.util.Random;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
-import java.util.logging.Level;
import java.util.logging.Logger;
/**
@@ -222,28 +221,18 @@ public class ContentPolicy extends SlobrokPolicy {
/** Class parsing the semicolon separated parameter string and exposes the appropriate value to the policy. */
public static class Parameters {
-
protected final String clusterName;
protected final String distributionConfigId;
- protected final DistributionConfig distributionConfig;
protected final SlobrokHostPatternGenerator slobrokHostPatternGenerator;
public Parameters(Map<String, String> params) {
- this(params, null);
- }
-
- private Parameters(Map<String, String> params, DistributionConfig config) {
clusterName = params.get("cluster");
- if (clusterName == null)
- throw new IllegalArgumentException("Required parameter 'cluster', the name of the content cluster, not set");
- distributionConfig = config;
- if (distributionConfig != null && distributionConfig.cluster(clusterName) == null)
- throw new IllegalArgumentException("Distribution config for cluster '" + clusterName + "' not found");
distributionConfigId = params.get("clusterconfigid"); // TODO jonmv: remove
slobrokHostPatternGenerator = createPatternGenerator();
+ if (clusterName == null) throw new IllegalArgumentException("Required parameter 'cluster', the name of the content cluster, not set");
}
- private String getDistributionConfigId() {
+ String getDistributionConfigId() {
return distributionConfigId == null ? clusterName : distributionConfigId;
}
public String getClusterName() {
@@ -256,8 +245,7 @@ public class ContentPolicy extends SlobrokPolicy {
return new TargetCachingSlobrokHostFetcher(slobrokHostPatternGenerator, policy, percent);
}
public Distribution createDistribution(SlobrokPolicy policy) {
- return distributionConfig == null ? new Distribution(getDistributionConfigId())
- : new Distribution(distributionConfig.cluster(clusterName));
+ return new Distribution(getDistributionConfigId());
}
/**
@@ -560,8 +548,12 @@ public class ContentPolicy extends SlobrokPolicy {
private final Parameters parameters;
/** Constructor used in production. */
- public ContentPolicy(String param, DistributionConfig config) {
- this(new Parameters(parse(param), config));
+ public ContentPolicy(String param) {
+ this(parse(param));
+ }
+
+ public ContentPolicy(Map<String, String> params) {
+ this(new Parameters(params));
}
/** Constructor specifying a bit more in detail, so we can override what needs to be overridden in tests */