You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2016/02/16 23:40:05 UTC
reef git commit: [REEF-1124] Remove deprecated constructors of
NameLookupClient
Repository: reef
Updated Branches:
refs/heads/master c63219ff2 -> 61e0424d1
[REEF-1124] Remove deprecated constructors of NameLookupClient
JIRA:
[REEF-1124](https://issues.apache.org/jira/browse/REEF-1124)
Pull Request:
This closes #842
Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/61e0424d
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/61e0424d
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/61e0424d
Branch: refs/heads/master
Commit: 61e0424d1dcd54fa318323d66d8327203d61a347
Parents: c63219f
Author: Andrew Chung <af...@gmail.com>
Authored: Tue Feb 16 10:13:35 2016 -0800
Committer: Markus Weimer <we...@apache.org>
Committed: Tue Feb 16 14:39:27 2016 -0800
----------------------------------------------------------------------
.../reef/io/network/naming/NameClient.java | 7 +-
.../io/network/naming/NameLookupClient.java | 121 +------------------
.../reef/io/network/naming/NamingTest.java | 45 +++++--
3 files changed, 43 insertions(+), 130 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/reef/blob/61e0424d/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
index e115873..f5985c3 100644
--- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
+++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
@@ -74,9 +74,9 @@ public final class NameClient implements NameResolver {
@Parameter(NameResolverRetryCount.class) final int retryCount,
@Parameter(NameResolverRetryTimeout.class) final int retryTimeout,
final LocalAddressProvider localAddressProvider,
- final TransportFactory tpFactory) {
+ final TransportFactory tpFactory,
+ final NameLookupClient lookupClient) {
- final NameCache cache = new NameCache(timeout);
final BlockingQueue<NamingLookupResponse> replyLookupQueue = new LinkedBlockingQueue<>();
final BlockingQueue<NamingRegisterResponse> replyRegisterQueue = new LinkedBlockingQueue<>();
final Codec<NamingMessage> codec = NamingCodecFactory.createFullCodec(factory);
@@ -86,8 +86,7 @@ public final class NameClient implements NameResolver {
new NamingResponseHandler(replyLookupQueue, replyRegisterQueue), codec)),
null, retryCount, retryTimeout);
- this.lookupClient = new NameLookupClient(serverAddr, serverPort, timeout,
- factory, retryCount, retryTimeout, replyLookupQueue, this.transport, cache);
+ this.lookupClient = lookupClient;
this.registryClient = new NameRegistryClient(serverAddr, serverPort, timeout,
factory, replyRegisterQueue, this.transport);
http://git-wip-us.apache.org/repos/asf/reef/blob/61e0424d/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
index f85bb88..efc61a6 100644
--- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
+++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
@@ -18,7 +18,6 @@
*/
package org.apache.reef.io.network.naming;
-import com.google.inject.Inject;
import org.apache.reef.io.naming.NameAssignment;
import org.apache.reef.io.naming.NamingLookup;
import org.apache.reef.io.network.naming.exception.NamingException;
@@ -45,8 +44,8 @@ import org.apache.reef.wake.remote.transport.Link;
import org.apache.reef.wake.remote.transport.Transport;
import org.apache.reef.wake.remote.transport.TransportFactory;
import org.apache.reef.wake.remote.transport.netty.LoggingLinkListener;
-import org.apache.reef.wake.remote.transport.netty.MessagingTransportFactory;
+import javax.inject.Inject;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.Arrays;
@@ -61,7 +60,7 @@ import java.util.logging.Logger;
/**
* Naming lookup client.
*/
-public class NameLookupClient implements Stage, NamingLookup {
+public final class NameLookupClient implements Stage, NamingLookup {
private static final Logger LOG = Logger.getLogger(NameLookupClient.class.getName());
private final SocketAddress serverSocketAddr;
@@ -74,89 +73,6 @@ public class NameLookupClient implements Stage, NamingLookup {
private final int retryTimeout;
/**
- * Constructs a naming lookup client.
- *
- * @param serverAddr a server address
- * @param serverPort a server port number
- * @param factory an identifier factory
- * @param cache an cache
- *
- * @deprecated in 0.13. Have an instance injected instead or use the NameResolver interface.
- */
- @Deprecated
- public NameLookupClient(final String serverAddr,
- final int serverPort,
- final IdentifierFactory factory,
- final int retryCount,
- final int retryTimeout,
- final Cache<Identifier, InetSocketAddress> cache,
- final LocalAddressProvider localAddressProvider) {
- this(serverAddr, serverPort, 10000, factory, retryCount, retryTimeout, cache, localAddressProvider);
- }
-
- /**
- * Constructs a naming lookup client.
- *
- * @param serverAddr a server address
- * @param serverPort a server port number
- * @param timeout request timeout in ms
- * @param factory an identifier factory
- * @param cache an cache
- *
- * @deprecated in 0.13. Have an instance injected instead or use the NameResolver interface.
- */
- @Deprecated
- public NameLookupClient(final String serverAddr,
- final int serverPort,
- final long timeout,
- final IdentifierFactory factory,
- final int retryCount,
- final int retryTimeout,
- final Cache<Identifier, InetSocketAddress> cache,
- final LocalAddressProvider localAddressProvider) {
- this(serverAddr, serverPort, timeout, factory, retryCount, retryTimeout,
- cache, localAddressProvider, new MessagingTransportFactory(localAddressProvider));
- }
-
- /**
- * Constructs a naming lookup client.
- *
- * @param serverAddr a server address
- * @param serverPort a server port number
- * @param timeout request timeout in ms
- * @param factory an identifier factory
- * @param cache an cache
- * @param tpFactory a transport factory
- *
- * @deprecated in 0.13. Have an instance injected instead or use the NameResolver interface.
- */
- @Deprecated
- public NameLookupClient(final String serverAddr,
- final int serverPort,
- final long timeout,
- final IdentifierFactory factory,
- final int retryCount,
- final int retryTimeout,
- final Cache<Identifier, InetSocketAddress> cache,
- final LocalAddressProvider localAddressProvider,
- final TransportFactory tpFactory) {
-
- this.serverSocketAddr = new InetSocketAddress(serverAddr, serverPort);
- this.timeout = timeout;
- this.cache = cache;
- this.codec = NamingCodecFactory.createLookupCodec(factory);
- this.replyQueue = new LinkedBlockingQueue<>();
-
- this.transport = tpFactory.newInstance(localAddressProvider.getLocalAddress(), 0,
- new SyncStage<>(new NamingLookupClientHandler(
- new NamingLookupResponseHandler(this.replyQueue), this.codec)),
- null, retryCount, retryTimeout);
-
- this.retryCount = retryCount;
- this.retryTimeout = retryTimeout;
- }
-
- /**
* Constructs a naming lookup client.
*
* @param serverAddr a server address
@@ -192,39 +108,6 @@ public class NameLookupClient implements Stage, NamingLookup {
}
/**
- * Constructs a naming lookup client.
- *
- * @param serverAddr a server address
- * @param serverPort a server port number
- * @param timeout request timeout in ms
- * @param factory an identifier factory
- * @param retryCount number of retries
- * @param retryTimeout a timeout for a retry attempt, msec
- * @param replyQueue a queue of naming lookup responses
- * @param transport transport for sending and receiving data
- * @param cache a name cache
- *
- * @deprecated in 0.13. Have an instance injected instead or use the NameResolver interface.
- */
- @Deprecated
- NameLookupClient(final String serverAddr, final int serverPort, final long timeout,
- final IdentifierFactory factory, final int retryCount, final int retryTimeout,
- final BlockingQueue<NamingLookupResponse> replyQueue, final Transport transport,
- final Cache<Identifier, InetSocketAddress> cache) {
-
- this.serverSocketAddr = new InetSocketAddress(serverAddr, serverPort);
- this.timeout = timeout;
- this.cache = cache;
- this.codec = NamingCodecFactory.createFullCodec(factory);
- this.replyQueue = replyQueue;
- this.transport = transport;
- this.retryCount = retryCount;
- this.retryTimeout = retryTimeout;
- }
-
-
-
- /**
* Finds an address for an identifier.
*
* @param id an identifier
http://git-wip-us.apache.org/repos/asf/reef/blob/61e0424d/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java b/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
index 2e6c66d..4acb6fa 100644
--- a/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
+++ b/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
@@ -19,13 +19,13 @@
package org.apache.reef.io.network.naming;
import org.apache.reef.io.naming.NameAssignment;
-import org.apache.reef.io.network.naming.parameters.NameResolverRetryCount;
-import org.apache.reef.io.network.naming.parameters.NameResolverRetryTimeout;
+import org.apache.reef.io.network.naming.parameters.*;
import org.apache.reef.io.network.util.StringIdentifierFactory;
import org.apache.reef.tang.Configuration;
import org.apache.reef.tang.Injector;
import org.apache.reef.tang.Tang;
import org.apache.reef.tang.exceptions.InjectionException;
+import org.apache.reef.util.Optional;
import org.apache.reef.wake.Identifier;
import org.apache.reef.wake.IdentifierFactory;
import org.apache.reef.wake.remote.address.LocalAddressProvider;
@@ -101,8 +101,9 @@ public class NamingTest {
}
// run a client
- try (final NameLookupClient client = new NameLookupClient(localAddress, this.port,
- 10000, this.factory, RETRY_COUNT, RETRY_TIMEOUT, new NameCache(TTL), this.localAddressProvider)) {
+ try (final NameLookupClient client =
+ getNewNameLookupClient(localAddress, port, TTL, RETRY_COUNT, RETRY_TIMEOUT,
+ Optional.of(this.localAddressProvider), Optional.of(this.factory))) {
final Identifier id1 = this.factory.getNewInstance("task1");
final Identifier id2 = this.factory.getNewInstance("task2");
@@ -122,6 +123,36 @@ public class NamingTest {
}
}
+ private static NameLookupClient getNewNameLookupClient(final String serverAddr,
+ final int serverPort,
+ final long timeout,
+ final int retryCount,
+ final int retryTimeout,
+ final Optional<LocalAddressProvider> localAddressProvider,
+ final Optional<IdentifierFactory> factory)
+ throws InjectionException {
+
+
+ final Configuration injectorConf = Tang.Factory.getTang().newConfigurationBuilder()
+ .bindNamedParameter(NameResolverNameServerAddr.class, serverAddr)
+ .bindNamedParameter(NameResolverNameServerPort.class, Integer.toString(serverPort))
+ .bindNamedParameter(NameResolverCacheTimeout.class, Long.toString(timeout))
+ .bindNamedParameter(NameResolverRetryCount.class, Integer.toString(retryCount))
+ .bindNamedParameter(NameResolverRetryTimeout.class, Integer.toString(retryTimeout))
+ .build();
+
+ final Injector injector = Tang.Factory.getTang().newInjector(injectorConf);
+ if (localAddressProvider.isPresent()) {
+ injector.bindVolatileInstance(LocalAddressProvider.class, localAddressProvider.get());
+ }
+
+ if (factory.isPresent()) {
+ injector.bindVolatileInstance(IdentifierFactory.class, factory.get());
+ }
+
+ return injector.getInstance(NameLookupClient.class);
+ }
+
/**
* Test concurrent lookups (threads share a client).
*
@@ -155,9 +186,9 @@ public class NamingTest {
}
// run a client
- try (final NameLookupClient client = new NameLookupClient(localAddress, this.port, 10000, this.factory,
- RETRY_COUNT, RETRY_TIMEOUT, new NameCache(TTL), this.localAddressProvider)) {
-
+ try (final NameLookupClient client =
+ getNewNameLookupClient(localAddress, port, TTL, RETRY_COUNT, RETRY_TIMEOUT,
+ Optional.of(this.localAddressProvider), Optional.of(this.factory))) {
final Identifier id1 = this.factory.getNewInstance("task1");
final Identifier id2 = this.factory.getNewInstance("task2");
final Identifier id3 = this.factory.getNewInstance("task3");