diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-04-13 20:49:49 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-04-13 20:49:49 +0200 |
commit | b542fb6b05da7af5c0cda231231d3858bcd9b3d6 (patch) | |
tree | a44a7c9ced43006d415bb1c0ed9549a88f24e7d1 /documentapi | |
parent | e79c7152ce4b87d6baf2ec7c6d8c80a188bd5bf7 (diff) |
Follow intellij advise.
Diffstat (limited to 'documentapi')
8 files changed, 60 insertions, 102 deletions
diff --git a/documentapi/abi-spec.json b/documentapi/abi-spec.json index 663d04e3074..67569ed99fa 100644 --- a/documentapi/abi-spec.json +++ b/documentapi/abi-spec.json @@ -1472,8 +1472,6 @@ ], "methods": [ "public static java.util.Map parse(java.lang.String)", - "public void <init>(java.util.Map)", - "public void needAsynchronousInitialization()", "public abstract void init()", "public abstract void doSelect(com.yahoo.messagebus.routing.RoutingContext)", "public void select(com.yahoo.messagebus.routing.RoutingContext)", @@ -2239,8 +2237,6 @@ "public" ], "methods": [ - "public void <init>(java.lang.String)", - "public void <init>(java.lang.String, java.util.Map)", "public void doSelect(com.yahoo.messagebus.routing.RoutingContext)", "public void merge(com.yahoo.messagebus.routing.RoutingContext)", "public com.yahoo.messagebus.metrics.MetricSet getMetrics()" @@ -3023,21 +3019,7 @@ "public" ], "methods": [ - "public void <init>()", - "public com.yahoo.document.BucketId handleBucketIdCalculation(com.yahoo.messagebus.routing.RoutingContext)" - ], - "fields": [] - }, - "com.yahoo.documentapi.messagebus.protocol.StoragePolicy$DistributorSelectionLogic$InstabilityChecker": { - "superClass": "java.lang.Object", - "interfaces": [], - "attributes": [ - "public" - ], - "methods": [ - "public void <init>(int)", - "public boolean tooManyFailures(int)", - "public void addFailure(java.lang.Integer)" + "public void <init>()" ], "fields": [] }, @@ -3048,11 +3030,7 @@ "public" ], "methods": [ - "public void <init>(com.yahoo.documentapi.messagebus.protocol.StoragePolicy$Parameters, com.yahoo.documentapi.messagebus.protocol.ExternalSlobrokPolicy)", - "public void destroy()", - "public java.lang.String getTargetSpec(com.yahoo.messagebus.routing.RoutingContext, com.yahoo.document.BucketId)", - "public void handleWrongDistribution(com.yahoo.documentapi.messagebus.protocol.WrongDistributionReply, com.yahoo.messagebus.routing.RoutingContext)", - "public void handleErrorReply(com.yahoo.messagebus.Reply, java.lang.Object)" + "public void destroy()" ], "fields": [] }, @@ -3065,10 +3043,7 @@ ], "methods": [ "public void <init>()", - "public void setRequiredUpPercentageToSendToKnownGoodNodes(int)", - "public void updateValidTargets(com.yahoo.vdslib.state.ClusterState)", "public abstract java.lang.String getTargetSpec(java.lang.Integer, com.yahoo.messagebus.routing.RoutingContext)", - "public java.lang.String getRandomTargetSpec(com.yahoo.messagebus.routing.RoutingContext)", "public void close()" ], "fields": [ @@ -3087,15 +3062,12 @@ "public java.lang.String getClusterName()", "public com.yahoo.documentapi.messagebus.protocol.StoragePolicy$SlobrokHostPatternGenerator createPatternGenerator()", "public com.yahoo.documentapi.messagebus.protocol.StoragePolicy$HostFetcher createHostFetcher(com.yahoo.documentapi.messagebus.protocol.ExternalSlobrokPolicy)", - "public com.yahoo.vdslib.distribution.Distribution createDistribution(com.yahoo.documentapi.messagebus.protocol.ExternalSlobrokPolicy)", - "public int getAttemptRandomOnFailuresLimit()", - "public int maxOldClusterStatesSeenBeforeThrowingCachedState()", - "public int getRequiredUpPercentageToSendToKnownGoodNodes()" + "public com.yahoo.vdslib.distribution.Distribution createDistribution(com.yahoo.documentapi.messagebus.protocol.ExternalSlobrokPolicy)" ], "fields": [ - "protected java.lang.String clusterName", - "protected java.lang.String distributionConfigId", - "protected com.yahoo.documentapi.messagebus.protocol.StoragePolicy$SlobrokHostPatternGenerator slobrokHostPatternGenerator" + "protected final java.lang.String clusterName", + "protected final java.lang.String distributionConfigId", + "protected final com.yahoo.documentapi.messagebus.protocol.StoragePolicy$SlobrokHostPatternGenerator slobrokHostPatternGenerator" ] }, "com.yahoo.documentapi.messagebus.protocol.StoragePolicy$SlobrokHostFetcher": { @@ -3105,7 +3077,6 @@ "public" ], "methods": [ - "public void <init>(com.yahoo.documentapi.messagebus.protocol.StoragePolicy$SlobrokHostPatternGenerator, com.yahoo.documentapi.messagebus.protocol.ExternalSlobrokPolicy)", "public com.yahoo.jrt.slobrok.api.IMirror getMirror(com.yahoo.messagebus.routing.RoutingContext)", "public java.lang.String getTargetSpec(java.lang.Integer, com.yahoo.messagebus.routing.RoutingContext)" ], @@ -3118,7 +3089,6 @@ "public" ], "methods": [ - "public void <init>(java.lang.String)", "public java.lang.String getDistributorHostPattern(java.lang.Integer)" ], "fields": [] @@ -3139,10 +3109,7 @@ "public void destroy()", "public com.yahoo.messagebus.metrics.MetricSet getMetrics()" ], - "fields": [ - "public static final java.lang.String owningBucketStates", - "public static final java.lang.String upStates" - ] + "fields": [] }, "com.yahoo.documentapi.messagebus.protocol.SubsetServicePolicy": { "superClass": "java.lang.Object", diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/AsyncInitializationPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/AsyncInitializationPolicy.java index cbcea4775b4..90fc6de57c7 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/AsyncInitializationPolicy.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/AsyncInitializationPolicy.java @@ -2,13 +2,13 @@ package com.yahoo.documentapi.messagebus.protocol; import com.yahoo.log.LogLevel; -import com.yahoo.messagebus.*; -import com.yahoo.messagebus.metrics.MetricSet; +import com.yahoo.messagebus.EmptyReply; +import com.yahoo.messagebus.ErrorCode; +import com.yahoo.messagebus.Reply; import com.yahoo.messagebus.routing.RoutingContext; import java.io.PrintWriter; import java.io.StringWriter; -import java.util.List; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.ScheduledThreadPoolExecutor; @@ -26,17 +26,17 @@ public abstract class AsyncInitializationPolicy implements DocumentProtocolRouti NOT_STARTED, RUNNING, DONE - }; + } private static final Logger log = Logger.getLogger(AsyncInitializationPolicy.class.getName()); - InitState initState; - ScheduledThreadPoolExecutor executor; - Exception initException; - boolean syncInit = true; + private InitState initState; + private ScheduledThreadPoolExecutor executor; + private Exception initException; + private boolean syncInit = true; public static Map<String, String> parse(String param) { - Map<String, String> map = new TreeMap<String, String>(); + Map<String, String> map = new TreeMap<>(); if (param != null) { String[] p = param.split(";"); @@ -54,11 +54,11 @@ public abstract class AsyncInitializationPolicy implements DocumentProtocolRouti return map; } - public AsyncInitializationPolicy(Map<String, String> params) { + AsyncInitializationPolicy() { initState = InitState.NOT_STARTED; } - public void needAsynchronousInitialization() { + void needAsynchronousInitialization() { syncInit = false; } 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 e627316de30..590a770624f 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 @@ -19,7 +19,6 @@ import com.yahoo.messagebus.routing.RoutingNodeIterator; import com.yahoo.messagebus.routing.RoutingPolicy; import com.yahoo.text.Utf8String; -import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.LinkedList; 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 574370d14e8..a6a06afa45e 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 @@ -4,9 +4,6 @@ package com.yahoo.documentapi.messagebus.protocol; import com.yahoo.messagebus.metrics.MetricSet; import com.yahoo.messagebus.routing.RoutingPolicy; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; /** * @author thomasg diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java index 995c8579e00..3ebe5b7281e 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java @@ -29,7 +29,7 @@ public abstract class ExternalSlobrokPolicy extends AsyncInitializationPolicy im public ExternalSlobrokPolicy(Map<String, String> param) { - super(param); + super(); String conf = param.get("config"); if (conf != null) { 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 0be132c440c..bf51265627f 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 @@ -1,12 +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.config.subscription.ConfigSourceSet; -import com.yahoo.config.subscription.ConfigSubscriber; -import com.yahoo.jrt.Supervisor; -import com.yahoo.jrt.Transport; -import com.yahoo.jrt.slobrok.api.IMirror; -import com.yahoo.jrt.slobrok.api.SlobrokList; import com.yahoo.jrt.slobrok.api.Mirror; import com.yahoo.messagebus.ErrorCode; import com.yahoo.messagebus.Reply; @@ -15,11 +9,8 @@ import com.yahoo.messagebus.routing.Hop; import com.yahoo.messagebus.routing.Route; import com.yahoo.messagebus.routing.RoutingContext; import com.yahoo.messagebus.routing.RoutingNodeIterator; -import com.yahoo.cloud.config.SlobroksConfig; import java.util.Map; -import java.util.concurrent.atomic.AtomicLong; -import java.util.logging.Logger; /** * Routing policy to load balance between nodes in a randomly distributed cluster, such as a docproc cluster. @@ -33,30 +24,31 @@ import java.util.logging.Logger; * @author <a href="mailto:humbe@yahoo-inc.com">Haakon Humberset</a> */ public class LoadBalancerPolicy extends ExternalSlobrokPolicy { - String cluster = null; - String session = null; - private String pattern = null; + private final String session; + private final String pattern; LoadBalancer.Metrics metrics; - LoadBalancer loadBalancer; + private LoadBalancer loadBalancer; - public LoadBalancerPolicy(String param) { + LoadBalancerPolicy(String param) { this(param, parse(param)); } - public LoadBalancerPolicy(String param, Map<String, String> params) { + private LoadBalancerPolicy(String param, Map<String, String> params) { super(params); - cluster = params.get("cluster"); + String cluster = params.get("cluster"); session = params.get("session"); if (cluster == null) { error = "Required parameter pattern not set"; + pattern = null; return; } if (session == null) { error = "Required parameter session not set"; + pattern = null; return; } @@ -86,7 +78,7 @@ public class LoadBalancerPolicy extends ExternalSlobrokPolicy { @return Returns a hop representing the TCP address of the target, or null if none could be found. */ - LoadBalancer.Node getRecipient(RoutingContext context) { + private LoadBalancer.Node getRecipient(RoutingContext context) { Mirror.Entry [] lastLookup = lookup(context, pattern); return loadBalancer.getRecipient(lastLookup); } 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 22f7a491056..69bd6dcca00 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 @@ -8,10 +8,17 @@ import com.yahoo.document.BucketIdFactory; import com.yahoo.jrt.slobrok.api.IMirror; import com.yahoo.jrt.slobrok.api.Mirror; import com.yahoo.log.LogLevel; -import com.yahoo.messagebus.*; +import com.yahoo.messagebus.EmptyReply; 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.*; +import com.yahoo.messagebus.routing.Hop; +import com.yahoo.messagebus.routing.Route; +import com.yahoo.messagebus.routing.RoutingContext; +import com.yahoo.messagebus.routing.RoutingNodeIterator; +import com.yahoo.messagebus.routing.VerbatimDirective; import com.yahoo.vdslib.distribution.Distribution; import com.yahoo.vdslib.state.ClusterState; import com.yahoo.vdslib.state.Node; @@ -39,13 +46,13 @@ import java.util.logging.Logger; public class StoragePolicy extends ExternalSlobrokPolicy { private static final Logger log = Logger.getLogger(StoragePolicy.class.getName()); - public static final String owningBucketStates = "uim"; - public static final String upStates = "ui"; + private static final String owningBucketStates = "uim"; + private static final String upStates = "ui"; /** This class merely generates slobrok a host pattern for a given distributor. */ public static class SlobrokHostPatternGenerator { private final String clusterName; - public SlobrokHostPatternGenerator(String clusterName) { this.clusterName = clusterName; } + SlobrokHostPatternGenerator(String clusterName) { this.clusterName = clusterName; } /** * Find host pattern of the hosts that are valid targets for this request. @@ -63,9 +70,9 @@ public class StoragePolicy extends ExternalSlobrokPolicy { private int totalTargets = 1; protected final Random randomizer = new Random(12345); // Use same randomizer each time to make unit testing easy. - public void setRequiredUpPercentageToSendToKnownGoodNodes(int percent) { this.requiredUpPercentageToSendToKnownGoodNodes = percent; } + void setRequiredUpPercentageToSendToKnownGoodNodes(int percent) { this.requiredUpPercentageToSendToKnownGoodNodes = percent; } - public void updateValidTargets(ClusterState state) { + void updateValidTargets(ClusterState state) { List<Integer> validRandomTargets = new ArrayList<>(); for (int i=0; i<state.getNodeCount(NodeType.DISTRIBUTOR); ++i) { if (state.getNodeState(new Node(NodeType.DISTRIBUTOR, i)).getState().oneOf(upStates)) validRandomTargets.add(i); @@ -74,7 +81,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { this.totalTargets = state.getNodeCount(NodeType.DISTRIBUTOR); } public abstract String getTargetSpec(Integer distributor, RoutingContext context); - public String getRandomTargetSpec(RoutingContext context) { + String getRandomTargetSpec(RoutingContext context) { // Try to use list of random targets, if at least X % of the nodes are up while (100 * validRandomTargets.size() / totalTargets >= requiredUpPercentageToSendToKnownGoodNodes) { int randIndex = randomizer.nextInt(validRandomTargets.size()); @@ -96,7 +103,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { private final SlobrokHostPatternGenerator patternGenerator; ExternalSlobrokPolicy policy; - public SlobrokHostFetcher(SlobrokHostPatternGenerator patternGenerator, ExternalSlobrokPolicy policy) { + SlobrokHostFetcher(SlobrokHostPatternGenerator patternGenerator, ExternalSlobrokPolicy policy) { this.patternGenerator = patternGenerator; this.policy = policy; } @@ -189,9 +196,9 @@ public class StoragePolicy extends ExternalSlobrokPolicy { /** Class parsing the semicolon separated parameter string and exposes the appropriate value to the policy. */ public static class Parameters { - protected String clusterName = null; - protected String distributionConfigId = null; - protected SlobrokHostPatternGenerator slobrokHostPatternGenerator = null; + protected final String clusterName; + protected final String distributionConfigId; + protected final SlobrokHostPatternGenerator slobrokHostPatternGenerator; public Parameters(Map<String, String> params) { clusterName = params.get("cluster"); @@ -222,26 +229,25 @@ public class StoragePolicy extends ExternalSlobrokPolicy { * When we have gotten this amount of failures from a node (Any kind of failures). We try to send to a random other node, just to see if the * failure was related to node being bad. (Hard to detect from failure) */ - public int getAttemptRandomOnFailuresLimit() { return 5; } + int getAttemptRandomOnFailuresLimit() { return 5; } /** * If we receive more than this number of wrong distribution replies with old cluster states, we throw the current cached state and takes the * old one. This guards us against version resets. */ - public int maxOldClusterStatesSeenBeforeThrowingCachedState() { return 20; } + int maxOldClusterStatesSeenBeforeThrowingCachedState() { return 20; } /** * When getting new cluster states we update good nodes. If we have more than this percentage of up nodes, we send to up nodes instead of totally random. * (To avoid hitting trashing bad nodes still in slobrok) */ - public int getRequiredUpPercentageToSendToKnownGoodNodes() { return 60; } + int getRequiredUpPercentageToSendToKnownGoodNodes() { return 60; } } /** Helper class to get the bucket identifier of a message. */ public static class BucketIdCalculator { private static final BucketIdFactory factory = new BucketIdFactory(); - @SuppressWarnings("deprecation") private BucketId getBucketId(Message msg) { switch (msg.getType()) { case DocumentProtocol.MESSAGE_PUTDOCUMENT: return factory.getBucketId(((PutDocumentMessage)msg).getDocumentPut().getDocument().getId()); @@ -258,7 +264,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { } } - public BucketId handleBucketIdCalculation(RoutingContext context) { + BucketId handleBucketIdCalculation(RoutingContext context) { BucketId id = getBucketId(context.getMessage()); if (id == null || id.getRawId() == 0) { Reply reply = new EmptyReply(); @@ -272,13 +278,13 @@ public class StoragePolicy extends ExternalSlobrokPolicy { /** Class handling the logic of picking a distributor */ public static class DistributorSelectionLogic { /** Class that tracks a failure of a given type per node. */ - public static class InstabilityChecker { + static class InstabilityChecker { private List<Integer> nodeFailures = new ArrayList<>(); private int failureLimit; - public InstabilityChecker(int failureLimit) { this.failureLimit = failureLimit; } + InstabilityChecker(int failureLimit) { this.failureLimit = failureLimit; } - public boolean tooManyFailures(int nodeIndex) { + boolean tooManyFailures(int nodeIndex) { if (nodeFailures.size() > nodeIndex && nodeFailures.get(nodeIndex) > failureLimit) { nodeFailures.set(nodeIndex, 0); return true; @@ -287,7 +293,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { } } - public void addFailure(Integer calculatedDistributor) { + void addFailure(Integer calculatedDistributor) { while (nodeFailures.size() <= calculatedDistributor) nodeFailures.add(0); nodeFailures.set(calculatedDistributor, nodeFailures.get(calculatedDistributor) + 1); } @@ -297,7 +303,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { Integer calculatedDistributor; ClusterState usedState; - public MessageContext(ClusterState usedState) { this.usedState = usedState; } + MessageContext(ClusterState usedState) { this.usedState = usedState; } public String toString() { return "Context(Distributor " + calculatedDistributor + @@ -312,7 +318,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { private int oldClusterVersionGottenCount = 0; private final int maxOldClusterVersionBeforeSendingRandom; // Reset cluster version protection - public DistributorSelectionLogic(Parameters params, ExternalSlobrokPolicy policy) { + DistributorSelectionLogic(Parameters params, ExternalSlobrokPolicy policy) { this.hostFetcher = params.createHostFetcher(policy); this.hostFetcher.setRequiredUpPercentageToSendToKnownGoodNodes(params.getRequiredUpPercentageToSendToKnownGoodNodes()); this.distribution = params.createDistribution(policy); @@ -325,7 +331,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { distribution.close(); } - public String getTargetSpec(RoutingContext context, BucketId bucketId) { + String getTargetSpec(RoutingContext context, BucketId bucketId) { String sendRandomReason = null; MessageContext messageContext = new MessageContext(cachedClusterState); context.setContext(messageContext); @@ -382,7 +388,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { } } - public void handleWrongDistribution(WrongDistributionReply reply, RoutingContext routingContext) { + void handleWrongDistribution(WrongDistributionReply reply, RoutingContext routingContext) { final MessageContext context = (MessageContext) routingContext.getContext(); final Optional<ClusterState> replyState = clusterStateFromReply(reply); if (!replyState.isPresent()) { @@ -479,7 +485,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy { } } - public void handleErrorReply(Reply reply, Object untypedContext) { + void handleErrorReply(Reply reply, Object untypedContext) { MessageContext messageContext = (MessageContext) untypedContext; if (messageContext.calculatedDistributor != null) { persistentFailureChecker.addFailure(messageContext.calculatedDistributor); diff --git a/documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java b/documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java index f0f5a8d008b..2a4e7997b38 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/metrics/DocumentProtocolMetricSet.java @@ -3,9 +3,6 @@ package com.yahoo.documentapi.metrics; import com.yahoo.messagebus.metrics.MetricSet; -import java.util.ArrayList; -import java.util.List; - /** * @author thomasg */ |