Repository: incubator-distributedlog Updated Branches: refs/heads/master cf9bcd2a8 -> 367335d5e
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/DefaultSpeculativeRequestExecutionPolicy.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/DefaultSpeculativeRequestExecutionPolicy.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/DefaultSpeculativeRequestExecutionPolicy.java index 7fbcff6..489fc00 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/DefaultSpeculativeRequestExecutionPolicy.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/DefaultSpeculativeRequestExecutionPolicy.java @@ -17,16 +17,18 @@ */ package com.twitter.distributedlog.client.speculative; -import java.util.concurrent.RejectedExecutionException; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - import com.google.common.annotations.VisibleForTesting; import com.twitter.util.Future; import com.twitter.util.FutureEventListener; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Default implementation of {@link SpeculativeRequestExecutionPolicy}. + */ public class DefaultSpeculativeRequestExecutionPolicy implements SpeculativeRequestExecutionPolicy { private static final Logger LOG = LoggerFactory.getLogger(DefaultSpeculativeRequestExecutionPolicy.class); @@ -48,7 +50,7 @@ public class DefaultSpeculativeRequestExecutionPolicy implements SpeculativeRequ } // Prevent potential over flow - if (Math.round((double)maxSpeculativeRequestTimeout * (double)backoffMultiplier) > Integer.MAX_VALUE) { + if (Math.round((double) maxSpeculativeRequestTimeout * (double) backoffMultiplier) > Integer.MAX_VALUE) { throw new IllegalArgumentException("Invalid values for maxSpeculativeRequestTimeout and backoffMultiplier"); } } @@ -59,7 +61,7 @@ public class DefaultSpeculativeRequestExecutionPolicy implements SpeculativeRequ } /** - * Initialize the speculative request execution policy + * Initialize the speculative request execution policy. * * @param scheduler The scheduler service to issue the speculative request * @param requestExecutor The executor is used to issue the actual speculative requests @@ -82,9 +84,9 @@ public class DefaultSpeculativeRequestExecutionPolicy implements SpeculativeRequ nextSpeculativeRequestTimeout = Math.min(maxSpeculativeRequestTimeout, (int) (nextSpeculativeRequestTimeout * backoffMultiplier)); } else { - if(LOG.isTraceEnabled()) { - LOG.trace("Stopped issuing speculative requests for {}, " + - "speculativeReadTimeout = {}", requestExecutor, nextSpeculativeRequestTimeout); + if (LOG.isTraceEnabled()) { + LOG.trace("Stopped issuing speculative requests for {}, " + + "speculativeReadTimeout = {}", requestExecutor, nextSpeculativeRequestTimeout); } } } http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutionPolicy.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutionPolicy.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutionPolicy.java index e01554c..14615e9 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutionPolicy.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutionPolicy.java @@ -19,9 +19,12 @@ package com.twitter.distributedlog.client.speculative; import java.util.concurrent.ScheduledExecutorService; +/** + * Speculative request execution policy. + */ public interface SpeculativeRequestExecutionPolicy { /** - * Initialize the speculative request execution policy and initiate requests + * Initialize the speculative request execution policy and initiate requests. * * @param scheduler The scheduler service to issue the speculative request * @param requestExecutor The executor is used to issue the actual speculative requests http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutor.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutor.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutor.java index dbfc0c1..de1b0dd 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutor.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/SpeculativeRequestExecutor.java @@ -19,13 +19,15 @@ package com.twitter.distributedlog.client.speculative; import com.twitter.util.Future; +/** + * Executor to execute speculative requests. + */ public interface SpeculativeRequestExecutor { /** - * Issues a speculative request and indicates if more speculative - * requests should be issued + * Issues a speculative request and indicates if more speculative requests should be issued. * - * @return whether more speculative requests should be issued + * @return whether more speculative requests should be issued. */ Future<Boolean> issueSpeculativeRequest(); } http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/package-info.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/package-info.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/package-info.java new file mode 100644 index 0000000..b299266 --- /dev/null +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/speculative/package-info.java @@ -0,0 +1,21 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Speculative Mechanism. + */ +package com.twitter.distributedlog.client.speculative; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStats.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStats.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStats.java index 1cb8911..f361892 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStats.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStats.java @@ -20,13 +20,12 @@ package com.twitter.distributedlog.client.stats; import com.twitter.distributedlog.client.resolver.RegionResolver; import com.twitter.distributedlog.thrift.service.StatusCode; import com.twitter.finagle.stats.StatsReceiver; - import java.net.SocketAddress; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; /** - * Client Stats + * Client Stats. */ public class ClientStats { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStatsLogger.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStatsLogger.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStatsLogger.java index a1e1ed8..0df64cc 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStatsLogger.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/ClientStatsLogger.java @@ -21,12 +21,12 @@ import com.twitter.distributedlog.thrift.service.StatusCode; import com.twitter.finagle.stats.Counter; import com.twitter.finagle.stats.Stat; import com.twitter.finagle.stats.StatsReceiver; - import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; /** + * Stats Logger to collect client stats. */ public class ClientStatsLogger { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStats.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStats.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStats.java index 1515e89..26708f3 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStats.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStats.java @@ -19,13 +19,12 @@ package com.twitter.distributedlog.client.stats; import com.twitter.distributedlog.client.resolver.RegionResolver; import com.twitter.finagle.stats.StatsReceiver; - import java.net.SocketAddress; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; /** - * Op Stats + * Op Stats. */ public class OpStats { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStatsLogger.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStatsLogger.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStatsLogger.java index c42f3bd..27adda7 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStatsLogger.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OpStatsLogger.java @@ -21,7 +21,7 @@ import com.twitter.finagle.stats.Stat; import com.twitter.finagle.stats.StatsReceiver; /** - * Stats Logger per operation type + * Stats Logger per operation type. */ public class OpStatsLogger { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OwnershipStatsLogger.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OwnershipStatsLogger.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OwnershipStatsLogger.java index 1bbe6bc..7d5a9c9 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OwnershipStatsLogger.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/OwnershipStatsLogger.java @@ -19,15 +19,17 @@ package com.twitter.distributedlog.client.stats; import com.twitter.finagle.stats.Counter; import com.twitter.finagle.stats.StatsReceiver; - import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; /** - * Stats Logger for ownerships + * Stats Logger for ownerships. */ public class OwnershipStatsLogger { + /** + * Ownership related stats. + */ public static class OwnershipStat { private final Counter hits; private final Counter misses; http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/package-info.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/package-info.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/package-info.java new file mode 100644 index 0000000..91d4f39 --- /dev/null +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/client/stats/package-info.java @@ -0,0 +1,21 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Client side stats utils. + */ +package com.twitter.distributedlog.client.stats; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DLSocketAddress.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DLSocketAddress.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DLSocketAddress.java index 44d0b84..30891c0 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DLSocketAddress.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DLSocketAddress.java @@ -17,13 +17,16 @@ */ package com.twitter.distributedlog.service; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; +/** + * Socket Address identifier for a DL proxy. + */ public class DLSocketAddress { private static final int VERSION = 1; @@ -49,7 +52,7 @@ public class DLSocketAddress { } /** - * Socket address for dl write proxy + * Socket address for dl write proxy. * * @return socket address for dl write proxy */ @@ -126,7 +129,7 @@ public class DLSocketAddress { */ public static InetSocketAddress parseSocketAddress(String addr) { String[] parts = addr.split(COLON); - Preconditions.checkArgument(parts.length == 2); + checkArgument(parts.length == 2); String hostname = parts[0]; int port = Integer.parseInt(parts[1]); return new InetSocketAddress(hostname, port); http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClient.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClient.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClient.java index dd0f994..a2c5150 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClient.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClient.java @@ -20,10 +20,12 @@ package com.twitter.distributedlog.service; import com.twitter.distributedlog.DLSN; import com.twitter.distributedlog.LogRecordSetBuffer; import com.twitter.util.Future; - import java.nio.ByteBuffer; import java.util.List; +/** + * Interface for distributedlog client. + */ public interface DistributedLogClient { /** * Write <i>data</i> to a given <i>stream</i>. @@ -38,6 +40,7 @@ public interface DistributedLogClient { /** * Write record set to a given <i>stream</i>. + * * <p>The record set is built from {@link com.twitter.distributedlog.LogRecordSet.Writer} * * @param stream stream to write to @@ -46,8 +49,9 @@ public interface DistributedLogClient { Future<DLSN> writeRecordSet(String stream, LogRecordSetBuffer recordSet); /** - * Write <i>data</i> in bulk to a given <i>stream</i>. Return a list of - * Future dlsns, one for each submitted buffer. In the event of a partial + * Write <i>data</i> in bulk to a given <i>stream</i>. + * + * <p>Return a list of Future dlsns, one for each submitted buffer. In the event of a partial * failure--ex. some specific buffer write fails, all subsequent writes * will also fail. * http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClientBuilder.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClientBuilder.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClientBuilder.java index 5c6a54b..48a229b 100644 --- a/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClientBuilder.java +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/DistributedLogClientBuilder.java @@ -17,14 +17,15 @@ */ package com.twitter.distributedlog.service; +import static com.google.common.base.Preconditions.checkNotNull; + import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; import com.twitter.common.zookeeper.ServerSet; import com.twitter.distributedlog.client.ClientConfig; import com.twitter.distributedlog.client.DistributedLogClientImpl; import com.twitter.distributedlog.client.monitor.MonitorServiceClient; -import com.twitter.distributedlog.client.resolver.RegionResolver; import com.twitter.distributedlog.client.resolver.DefaultRegionResolver; +import com.twitter.distributedlog.client.resolver.RegionResolver; import com.twitter.distributedlog.client.routing.RegionsRoutingService; import com.twitter.distributedlog.client.routing.RoutingService; import com.twitter.distributedlog.client.routing.RoutingUtils; @@ -32,28 +33,30 @@ import com.twitter.finagle.builder.ClientBuilder; import com.twitter.finagle.stats.NullStatsReceiver; import com.twitter.finagle.stats.StatsReceiver; import com.twitter.finagle.thrift.ClientId; -import org.apache.commons.lang.StringUtils; - import java.net.SocketAddress; import java.net.URI; import java.util.Random; +import org.apache.commons.lang.StringUtils; +/** + * Builder to build {@link DistributedLogClient}. + */ public final class DistributedLogClientBuilder { private static final Random random = new Random(System.currentTimeMillis()); - private String _name = null; - private ClientId _clientId = null; - private RoutingService.Builder _routingServiceBuilder = null; - private ClientBuilder _clientBuilder = null; - private StatsReceiver _statsReceiver = new NullStatsReceiver(); - private StatsReceiver _streamStatsReceiver = new NullStatsReceiver(); - private ClientConfig _clientConfig = new ClientConfig(); - private boolean _enableRegionStats = false; - private final RegionResolver _regionResolver = new DefaultRegionResolver(); + private String name = null; + private ClientId clientId = null; + private RoutingService.Builder routingServiceBuilder = null; + private ClientBuilder clientBuilder = null; + private StatsReceiver statsReceiver = new NullStatsReceiver(); + private StatsReceiver streamStatsReceiver = new NullStatsReceiver(); + private ClientConfig clientConfig = new ClientConfig(); + private boolean enableRegionStats = false; + private final RegionResolver regionResolver = new DefaultRegionResolver(); /** - * Create a client builder + * Create a client builder. * * @return client builder */ @@ -61,16 +64,22 @@ public final class DistributedLogClientBuilder { return new DistributedLogClientBuilder(); } + /** + * Create a new client builder from an existing {@code builder}. + * + * @param builder the existing builder. + * @return a new client builder. + */ public static DistributedLogClientBuilder newBuilder(DistributedLogClientBuilder builder) { DistributedLogClientBuilder newBuilder = new DistributedLogClientBuilder(); - newBuilder._name = builder._name; - newBuilder._clientId = builder._clientId; - newBuilder._clientBuilder = builder._clientBuilder; - newBuilder._routingServiceBuilder = builder._routingServiceBuilder; - newBuilder._statsReceiver = builder._statsReceiver; - newBuilder._streamStatsReceiver = builder._streamStatsReceiver; - newBuilder._enableRegionStats = builder._enableRegionStats; - newBuilder._clientConfig = ClientConfig.newConfig(builder._clientConfig); + newBuilder.name = builder.name; + newBuilder.clientId = builder.clientId; + newBuilder.clientBuilder = builder.clientBuilder; + newBuilder.routingServiceBuilder = builder.routingServiceBuilder; + newBuilder.statsReceiver = builder.statsReceiver; + newBuilder.streamStatsReceiver = builder.streamStatsReceiver; + newBuilder.enableRegionStats = builder.enableRegionStats; + newBuilder.clientConfig = ClientConfig.newConfig(builder.clientConfig); return newBuilder; } @@ -86,7 +95,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder name(String name) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._name = name; + newBuilder.name = name; return newBuilder; } @@ -99,7 +108,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder clientId(ClientId clientId) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientId = clientId; + newBuilder.clientId = clientId; return newBuilder; } @@ -112,14 +121,15 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder serverSet(ServerSet serverSet) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._routingServiceBuilder = RoutingUtils.buildRoutingService(serverSet); - newBuilder._enableRegionStats = false; + newBuilder.routingServiceBuilder = RoutingUtils.buildRoutingService(serverSet); + newBuilder.enableRegionStats = false; return newBuilder; } /** - * Server Sets to access proxy services. The <i>local</i> server set will be tried first, - * then <i>remotes</i>. + * Server Sets to access proxy services. + * + * <p>The <i>local</i> server set will be tried first then <i>remotes</i>. * * @param local local server set. * @param remotes remote server sets. @@ -130,12 +140,12 @@ public final class DistributedLogClientBuilder { RoutingService.Builder[] builders = new RoutingService.Builder[remotes.length + 1]; builders[0] = RoutingUtils.buildRoutingService(local); for (int i = 1; i < builders.length; i++) { - builders[i] = RoutingUtils.buildRoutingService(remotes[i-1]); + builders[i] = RoutingUtils.buildRoutingService(remotes[i - 1]); } - newBuilder._routingServiceBuilder = RegionsRoutingService.newBuilder() - .resolver(_regionResolver) + newBuilder.routingServiceBuilder = RegionsRoutingService.newBuilder() + .resolver(regionResolver) .routingServiceBuilders(builders); - newBuilder._enableRegionStats = remotes.length > 0; + newBuilder.enableRegionStats = remotes.length > 0; return newBuilder; } @@ -148,14 +158,15 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder finagleNameStr(String finagleNameStr) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._routingServiceBuilder = RoutingUtils.buildRoutingService(finagleNameStr); - newBuilder._enableRegionStats = false; + newBuilder.routingServiceBuilder = RoutingUtils.buildRoutingService(finagleNameStr); + newBuilder.enableRegionStats = false; return newBuilder; } /** - * Finagle name strs to access proxy services. The <i>local</i> finalge name str will be tried first, - * then <i>remotes</i>. + * Finagle name strs to access proxy services. + * + * <p>The <i>local</i> finalge name str will be tried first, then <i>remotes</i>. * * @param local local server set. * @param remotes remote server sets. @@ -168,17 +179,17 @@ public final class DistributedLogClientBuilder { for (int i = 1; i < builders.length; i++) { builders[i] = RoutingUtils.buildRoutingService(remotes[i - 1]); } - newBuilder._routingServiceBuilder = RegionsRoutingService.newBuilder() + newBuilder.routingServiceBuilder = RegionsRoutingService.newBuilder() .routingServiceBuilders(builders) - .resolver(_regionResolver); - newBuilder._enableRegionStats = remotes.length > 0; + .resolver(regionResolver); + newBuilder.enableRegionStats = remotes.length > 0; return newBuilder; } /** - * URI to access proxy services. Assuming the write proxies are announced under `.write_proxy` of - * the provided namespace uri. - * <p> + * URI to access proxy services. + * + * <p>Assuming the write proxies are announced under `.write_proxy` of the provided namespace uri. * The builder will convert the dl uri (e.g. distributedlog://{zkserver}/path/to/namespace) to * zookeeper serverset based finagle name str (`zk!{zkserver}!/path/to/namespace/.write_proxy`) * @@ -193,8 +204,8 @@ public final class DistributedLogClientBuilder { "zk!%s!%s/.write_proxy", zkServerList[random.nextInt(zkServerList.length)], // zk server uri.getPath()); - newBuilder._routingServiceBuilder = RoutingUtils.buildRoutingService(finagleNameStr); - newBuilder._enableRegionStats = false; + newBuilder.routingServiceBuilder = RoutingUtils.buildRoutingService(finagleNameStr); + newBuilder.enableRegionStats = false; return newBuilder; } @@ -207,15 +218,15 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder host(SocketAddress address) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._routingServiceBuilder = RoutingUtils.buildRoutingService(address); - newBuilder._enableRegionStats = false; + newBuilder.routingServiceBuilder = RoutingUtils.buildRoutingService(address); + newBuilder.enableRegionStats = false; return newBuilder; } private DistributedLogClientBuilder routingServiceBuilder(RoutingService.Builder builder) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._routingServiceBuilder = builder; - newBuilder._enableRegionStats = false; + newBuilder.routingServiceBuilder = builder; + newBuilder.enableRegionStats = false; return newBuilder; } @@ -229,8 +240,8 @@ public final class DistributedLogClientBuilder { @VisibleForTesting public DistributedLogClientBuilder routingService(RoutingService routingService) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._routingServiceBuilder = RoutingUtils.buildRoutingService(routingService); - newBuilder._enableRegionStats = false; + newBuilder.routingServiceBuilder = RoutingUtils.buildRoutingService(routingService); + newBuilder.enableRegionStats = false; return newBuilder; } @@ -243,7 +254,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder statsReceiver(StatsReceiver statsReceiver) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._statsReceiver = statsReceiver; + newBuilder.statsReceiver = statsReceiver; return newBuilder; } @@ -256,7 +267,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder streamStatsReceiver(StatsReceiver streamStatsReceiver) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._streamStatsReceiver = streamStatsReceiver; + newBuilder.streamStatsReceiver = streamStatsReceiver; return newBuilder; } @@ -269,7 +280,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder clientBuilder(ClientBuilder builder) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientBuilder = builder; + newBuilder.clientBuilder = builder; return newBuilder; } @@ -282,7 +293,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder redirectBackoffStartMs(int ms) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setRedirectBackoffStartMs(ms); + newBuilder.clientConfig.setRedirectBackoffStartMs(ms); return newBuilder; } @@ -295,13 +306,14 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder redirectBackoffMaxMs(int ms) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setRedirectBackoffMaxMs(ms); + newBuilder.clientConfig.setRedirectBackoffMaxMs(ms); return newBuilder; } /** - * Max redirects that is allowed per request. If <i>redirects</i> are - * exhausted, fail the request immediately. + * Max redirects that is allowed per request. + * + * <p>If <i>redirects</i> are exhausted, fail the request immediately. * * @param redirects * max redirects allowed before failing a request. @@ -309,7 +321,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder maxRedirects(int redirects) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setMaxRedirects(redirects); + newBuilder.clientConfig.setMaxRedirects(redirects); return newBuilder; } @@ -322,7 +334,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder requestTimeoutMs(int timeoutMs) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setRequestTimeoutMs(timeoutMs); + newBuilder.clientConfig.setRequestTimeoutMs(timeoutMs); return newBuilder; } @@ -335,7 +347,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder thriftmux(boolean enabled) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setThriftMux(enabled); + newBuilder.clientConfig.setThriftMux(enabled); return newBuilder; } @@ -348,7 +360,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder streamFailfast(boolean enabled) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setStreamFailfast(enabled); + newBuilder.clientConfig.setStreamFailfast(enabled); return newBuilder; } @@ -361,13 +373,14 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder streamNameRegex(String nameRegex) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setStreamNameRegex(nameRegex); + newBuilder.clientConfig.setStreamNameRegex(nameRegex); return newBuilder; } /** - * Whether to use the new handshake endpoint to exchange ownership cache. Enable this - * when the servers are updated to support handshaking with client info. + * Whether to use the new handshake endpoint to exchange ownership cache. + * + * <p>Enable this when the servers are updated to support handshaking with client info. * * @param enabled * new handshake endpoint is enabled. @@ -375,14 +388,15 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder handshakeWithClientInfo(boolean enabled) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setHandshakeWithClientInfo(enabled); + newBuilder.clientConfig.setHandshakeWithClientInfo(enabled); return newBuilder; } /** - * Set the periodic handshake interval in milliseconds. Every <code>intervalMs</code>, - * the DL client will handshake with existing proxies again. If the interval is less than - * ownership sync interval, the handshake won't sync ownerships. Otherwise, it will. + * Set the periodic handshake interval in milliseconds. + * + * <p>Every <code>intervalMs</code>, the DL client will handshake with existing proxies again. + * If the interval is less than ownership sync interval, the handshake won't sync ownerships. Otherwise, it will. * * @see #periodicOwnershipSyncIntervalMs(long) * @param intervalMs @@ -391,13 +405,15 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder periodicHandshakeIntervalMs(long intervalMs) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setPeriodicHandshakeIntervalMs(intervalMs); + newBuilder.clientConfig.setPeriodicHandshakeIntervalMs(intervalMs); return newBuilder; } /** - * Set the periodic ownership sync interval in milliseconds. If periodic handshake is enabled, - * the handshake will sync ownership if the elapsed time is larger than sync interval. + * Set the periodic ownership sync interval in milliseconds. + * + * <p>If periodic handshake is enabled, the handshake will sync ownership if the elapsed time is larger than + * sync interval. * * @see #periodicHandshakeIntervalMs(long) * @param intervalMs @@ -406,7 +422,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder periodicOwnershipSyncIntervalMs(long intervalMs) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setPeriodicOwnershipSyncIntervalMs(intervalMs); + newBuilder.clientConfig.setPeriodicOwnershipSyncIntervalMs(intervalMs); return newBuilder; } @@ -419,7 +435,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder periodicDumpOwnershipCache(boolean enabled) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setPeriodicDumpOwnershipCacheEnabled(enabled); + newBuilder.clientConfig.setPeriodicDumpOwnershipCacheEnabled(enabled); return newBuilder; } @@ -432,7 +448,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder periodicDumpOwnershipCacheIntervalMs(long intervalMs) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setPeriodicDumpOwnershipCacheIntervalMs(intervalMs); + newBuilder.clientConfig.setPeriodicDumpOwnershipCacheIntervalMs(intervalMs); return newBuilder; } @@ -445,7 +461,7 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder handshakeTracing(boolean enabled) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setHandshakeTracingEnabled(enabled); + newBuilder.clientConfig.setHandshakeTracingEnabled(enabled); return newBuilder; } @@ -458,13 +474,13 @@ public final class DistributedLogClientBuilder { */ public DistributedLogClientBuilder checksum(boolean enabled) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig.setChecksumEnabled(enabled); + newBuilder.clientConfig.setChecksumEnabled(enabled); return newBuilder; } DistributedLogClientBuilder clientConfig(ClientConfig clientConfig) { DistributedLogClientBuilder newBuilder = newBuilder(this); - newBuilder._clientConfig = ClientConfig.newConfig(clientConfig); + newBuilder.clientConfig = ClientConfig.newConfig(clientConfig); return newBuilder; } @@ -487,21 +503,21 @@ public final class DistributedLogClientBuilder { } DistributedLogClientImpl buildClient() { - Preconditions.checkNotNull(_name, "No name provided."); - Preconditions.checkNotNull(_clientId, "No client id provided."); - Preconditions.checkNotNull(_routingServiceBuilder, "No routing service builder provided."); - Preconditions.checkNotNull(_statsReceiver, "No stats receiver provided."); - if (null == _streamStatsReceiver) { - _streamStatsReceiver = new NullStatsReceiver(); + checkNotNull(name, "No name provided."); + checkNotNull(clientId, "No client id provided."); + checkNotNull(routingServiceBuilder, "No routing service builder provided."); + checkNotNull(statsReceiver, "No stats receiver provided."); + if (null == streamStatsReceiver) { + streamStatsReceiver = new NullStatsReceiver(); } - RoutingService routingService = _routingServiceBuilder - .statsReceiver(_statsReceiver.scope("routing")) + RoutingService routingService = routingServiceBuilder + .statsReceiver(statsReceiver.scope("routing")) .build(); DistributedLogClientImpl clientImpl = new DistributedLogClientImpl( - _name, _clientId, routingService, _clientBuilder, _clientConfig, - _statsReceiver, _streamStatsReceiver, _regionResolver, _enableRegionStats); + name, clientId, routingService, clientBuilder, clientConfig, + statsReceiver, streamStatsReceiver, regionResolver, enableRegionStats); routingService.startService(); clientImpl.handshake(); return clientImpl; http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/main/java/com/twitter/distributedlog/service/package-info.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/main/java/com/twitter/distributedlog/service/package-info.java b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/package-info.java new file mode 100644 index 0000000..e6e56c0 --- /dev/null +++ b/distributedlog-client/src/main/java/com/twitter/distributedlog/service/package-info.java @@ -0,0 +1,21 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * DistributedLog Service Client. + */ +package com.twitter.distributedlog.service; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/TestDistributedLogMultiStreamWriter.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/TestDistributedLogMultiStreamWriter.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/TestDistributedLogMultiStreamWriter.java index dd205a6..b302439 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/TestDistributedLogMultiStreamWriter.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/TestDistributedLogMultiStreamWriter.java @@ -17,6 +17,16 @@ */ package com.twitter.distributedlog.client; +import static com.google.common.base.Charsets.UTF_8; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import com.google.common.collect.Lists; import com.twitter.distributedlog.DLSN; import com.twitter.distributedlog.LogRecord; @@ -29,22 +39,17 @@ import com.twitter.finagle.IndividualRequestTimeoutException; import com.twitter.util.Await; import com.twitter.util.Future; import com.twitter.util.Promise; -import org.junit.Test; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - import java.nio.ByteBuffer; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; - -import static com.google.common.base.Charsets.UTF_8; -import static org.mockito.Mockito.*; -import static org.junit.Assert.*; +import org.junit.Test; +import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; /** - * Test {@link DistributedLogMultiStreamWriter} + * Test {@link DistributedLogMultiStreamWriter}. */ public class TestDistributedLogMultiStreamWriter { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/ownership/TestOwnershipCache.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/ownership/TestOwnershipCache.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/ownership/TestOwnershipCache.java index aba9da5..c0e077b 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/ownership/TestOwnershipCache.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/ownership/TestOwnershipCache.java @@ -17,21 +17,23 @@ */ package com.twitter.distributedlog.client.ownership; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + import com.twitter.distributedlog.client.ClientConfig; import com.twitter.finagle.stats.NullStatsReceiver; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TestName; - import java.net.InetSocketAddress; import java.net.SocketAddress; import java.util.Map; import java.util.Set; - -import static org.junit.Assert.*; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestName; /** - * Test Case for Ownership Cache + * Test Case for Ownership Cache. */ public class TestOwnershipCache { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockDistributedLogServices.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockDistributedLogServices.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockDistributedLogServices.java index 2e93a06..13ba044 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockDistributedLogServices.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockDistributedLogServices.java @@ -25,12 +25,17 @@ import com.twitter.distributedlog.thrift.service.ServerInfo; import com.twitter.distributedlog.thrift.service.WriteContext; import com.twitter.distributedlog.thrift.service.WriteResponse; import com.twitter.util.Future; - import java.nio.ByteBuffer; import java.util.List; +/** + * Mock DistributedLog Related Services. + */ public class MockDistributedLogServices { + /** + * Mock basic service. + */ static class MockBasicService implements DistributedLogService.ServiceIface { @Override @@ -105,6 +110,9 @@ public class MockDistributedLogServices { } } + /** + * Mock server info service. + */ public static class MockServerInfoService extends MockBasicService { protected ServerInfo serverInfo; http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockProxyClientBuilder.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockProxyClientBuilder.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockProxyClientBuilder.java index 06b34d2..ff0bd05 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockProxyClientBuilder.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockProxyClientBuilder.java @@ -18,13 +18,12 @@ package com.twitter.distributedlog.client.proxy; import com.twitter.distributedlog.thrift.service.DistributedLogService; - import java.net.SocketAddress; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; /** - * Mock Proxy Client Builder + * Mock Proxy Client Builder. */ class MockProxyClientBuilder implements ProxyClient.Builder { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockThriftClient.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockThriftClient.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockThriftClient.java index 29e770a..7877ed7 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockThriftClient.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/MockThriftClient.java @@ -22,9 +22,9 @@ import com.twitter.finagle.thrift.ThriftClientRequest; import com.twitter.util.Future; /** - * Mock Thrift Client + * Mock Thrift Client. */ -class MockThriftClient extends Service<ThriftClientRequest,byte[]> { +class MockThriftClient extends Service<ThriftClientRequest, byte[]> { @Override public Future<byte[]> apply(ThriftClientRequest request) { return Future.value(request.message); http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/TestProxyClientManager.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/TestProxyClientManager.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/TestProxyClientManager.java index ba1c741..11e1e58 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/TestProxyClientManager.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/proxy/TestProxyClientManager.java @@ -17,6 +17,9 @@ */ package com.twitter.distributedlog.client.proxy; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.util.concurrent.ThreadFactoryBuilder; @@ -28,12 +31,6 @@ import com.twitter.distributedlog.client.resolver.DefaultRegionResolver; import com.twitter.distributedlog.client.stats.ClientStats; import com.twitter.distributedlog.thrift.service.ServerInfo; import com.twitter.finagle.stats.NullStatsReceiver; -import org.apache.commons.lang3.tuple.Pair; -import org.jboss.netty.util.HashedWheelTimer; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TestName; - import java.net.InetSocketAddress; import java.net.SocketAddress; import java.util.HashMap; @@ -43,11 +40,14 @@ import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; - -import static org.junit.Assert.*; +import org.apache.commons.lang3.tuple.Pair; +import org.jboss.netty.util.HashedWheelTimer; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestName; /** - * Test Proxy Client Manager + * Test Proxy Client Manager. */ public class TestProxyClientManager { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestConsistentHashRoutingService.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestConsistentHashRoutingService.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestConsistentHashRoutingService.java index cd57fd2..0f4804c 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestConsistentHashRoutingService.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestConsistentHashRoutingService.java @@ -17,18 +17,22 @@ */ package com.twitter.distributedlog.client.routing; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.twitter.distributedlog.client.resolver.DefaultRegionResolver; import com.twitter.distributedlog.service.DLSocketAddress; -import com.twitter.finagle.ChannelWriteException; import com.twitter.finagle.Address; import com.twitter.finagle.Addresses; +import com.twitter.finagle.ChannelWriteException; import com.twitter.finagle.NoBrokersAvailableException; import com.twitter.finagle.stats.NullStatsReceiver; -import org.junit.Test; - import java.io.IOException; import java.net.InetSocketAddress; import java.net.SocketAddress; @@ -38,9 +42,11 @@ import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; +import org.junit.Test; -import static org.junit.Assert.*; - +/** + * Test Case for {@link ConsistentHashRoutingService}. + */ public class TestConsistentHashRoutingService { @Test(timeout = 60000) @@ -275,7 +281,7 @@ public class TestConsistentHashRoutingService { // fill up the addresses2 - overlap with addresses1 for (int i = 0; i < numHosts; i++) { InetSocketAddress inetAddress = new InetSocketAddress("127.0.0.1", basePort + numHosts + i); - DLSocketAddress dsa = new DLSocketAddress(i+2, inetAddress); + DLSocketAddress dsa = new DLSocketAddress(i + 2, inetAddress); addresses2.add(dsa); } // fill up the addresses3 - not overlap with addresses2 @@ -365,7 +371,7 @@ public class TestConsistentHashRoutingService { InetSocketAddress inetAddress = new InetSocketAddress("127.0.0.1", basePort + numHosts + i); assertTrue(routingService.address2ShardId.containsKey(inetAddress)); int shardId = routingService.address2ShardId.get(inetAddress); - assertEquals(i+2, shardId); + assertEquals(i + 2, shardId); SocketAddress sa = routingService.shardId2Address.get(shardId); assertNotNull(sa); assertEquals(inetAddress, sa); http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestInetNameResolution.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestInetNameResolution.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestInetNameResolution.java index 9d6c3c3..2552f9e 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestInetNameResolution.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestInetNameResolution.java @@ -17,23 +17,24 @@ */ package com.twitter.distributedlog.client.routing; +import com.google.common.collect.ImmutableSet; +import com.twitter.common.net.pool.DynamicHostSet; +import com.twitter.thrift.Endpoint; +import com.twitter.thrift.ServiceInstance; import java.net.InetSocketAddress; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; - -import com.google.common.collect.ImmutableSet; - import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.twitter.common.net.pool.DynamicHostSet; -import com.twitter.thrift.Endpoint; -import com.twitter.thrift.ServiceInstance; - +/** + * Test Case for `inet` name resolution. + */ public class TestInetNameResolution { - static final Logger logger = LoggerFactory.getLogger(TestRoutingService.class); + + private static final Logger logger = LoggerFactory.getLogger(TestRoutingService.class); @Test(timeout = 10000) public void testInetNameResolution() throws Exception { @@ -57,7 +58,8 @@ public class TestInetNameResolution { logger.error("Port does not match the expected port {}", endpoint.getPort()); validationFailed.set(true); } else if (!address.getAddress().getHostAddress().equals("127.0.0.1")) { - logger.error("Host address does not match the expected address {}", address.getAddress().getHostAddress()); + logger.error("Host address does not match the expected address {}", + address.getAddress().getHostAddress()); validationFailed.set(true); } resolved.countDown(); http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRegionsRoutingService.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRegionsRoutingService.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRegionsRoutingService.java index daf52c5..49a375c 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRegionsRoutingService.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRegionsRoutingService.java @@ -17,12 +17,14 @@ */ package com.twitter.distributedlog.client.routing; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import com.google.common.collect.Sets; import com.twitter.distributedlog.client.resolver.DefaultRegionResolver; import com.twitter.distributedlog.thrift.service.StatusCode; import com.twitter.finagle.NoBrokersAvailableException; -import org.junit.Test; - import java.net.InetSocketAddress; import java.net.SocketAddress; import java.util.HashMap; @@ -31,9 +33,11 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicInteger; +import org.junit.Test; -import static org.junit.Assert.*; - +/** + * Test Case for {@link RegionsRoutingService}. + */ public class TestRegionsRoutingService { @Test(timeout = 60000) http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRoutingService.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRoutingService.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRoutingService.java index a8097c7..b79557e 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRoutingService.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/routing/TestRoutingService.java @@ -19,6 +19,10 @@ package com.twitter.distributedlog.client.routing; import static org.junit.Assert.assertEquals; +import com.twitter.distributedlog.client.resolver.DefaultRegionResolver; +import com.twitter.finagle.Address; +import com.twitter.finagle.Addresses; +import com.twitter.finagle.addr.WeightedAddress; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.util.ArrayList; @@ -27,17 +31,15 @@ import java.util.HashSet; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; - -import com.twitter.distributedlog.client.resolver.DefaultRegionResolver; -import com.twitter.finagle.Address; -import com.twitter.finagle.Addresses; -import com.twitter.finagle.addr.WeightedAddress; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Test Case for {@link RoutingService}. + */ @RunWith(Parameterized.class) public class TestRoutingService { @@ -56,9 +58,9 @@ public class TestRoutingService { return list; } - final private boolean consistentHash; - final private boolean weightedAddresses; - final private boolean asyncResolution; + private final boolean consistentHash; + private final boolean weightedAddresses; + private final boolean asyncResolution; public TestRoutingService(boolean consistentHash, boolean weightedAddresses, boolean asyncResolution) { this.consistentHash = consistentHash; @@ -87,7 +89,10 @@ public class TestRoutingService { } } - private void testRoutingServiceHelper(boolean consistentHash, boolean weightedAddresses, boolean asyncResolution) throws Exception { + private void testRoutingServiceHelper(boolean consistentHash, + boolean weightedAddresses, + boolean asyncResolution) + throws Exception { ExecutorService executorService = null; final List<Address> addresses = getAddresses(weightedAddresses); final TestName name = new TestName(); http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/client/speculative/TestDefaultSpeculativeRequestExecutionPolicy.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/speculative/TestDefaultSpeculativeRequestExecutionPolicy.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/speculative/TestDefaultSpeculativeRequestExecutionPolicy.java index 4df25d1..71d0b01 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/client/speculative/TestDefaultSpeculativeRequestExecutionPolicy.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/client/speculative/TestDefaultSpeculativeRequestExecutionPolicy.java @@ -17,22 +17,21 @@ */ package com.twitter.distributedlog.client.speculative; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; + import com.twitter.util.CountDownLatch; import com.twitter.util.Future; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.atomic.AtomicInteger; import org.junit.Test; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.atomic.AtomicInteger; - -import static org.mockito.Mockito.*; -import static org.junit.Assert.*; - /** - * Test {@link TestDefaultSpeculativeRequestExecutionPolicy} + * Test {@link TestDefaultSpeculativeRequestExecutionPolicy}. */ public class TestDefaultSpeculativeRequestExecutionPolicy { http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/367335d5/distributedlog-client/src/test/java/com/twitter/distributedlog/service/TestDistributedLogClientBuilder.java ---------------------------------------------------------------------- diff --git a/distributedlog-client/src/test/java/com/twitter/distributedlog/service/TestDistributedLogClientBuilder.java b/distributedlog-client/src/test/java/com/twitter/distributedlog/service/TestDistributedLogClientBuilder.java index 81783d6..986cdd3 100644 --- a/distributedlog-client/src/test/java/com/twitter/distributedlog/service/TestDistributedLogClientBuilder.java +++ b/distributedlog-client/src/test/java/com/twitter/distributedlog/service/TestDistributedLogClientBuilder.java @@ -17,15 +17,15 @@ */ package com.twitter.distributedlog.service; -import com.twitter.finagle.thrift.ClientId$; +import static org.junit.Assert.assertFalse; + import com.twitter.finagle.builder.ClientBuilder; +import com.twitter.finagle.thrift.ClientId$; import com.twitter.util.Duration; import org.junit.Test; -import static org.junit.Assert.*; - /** - * Test Case of {@link com.twitter.distributedlog.service.DistributedLogClientBuilder} + * Test Case of {@link com.twitter.distributedlog.service.DistributedLogClientBuilder}. */ public class TestDistributedLogClientBuilder {