[REEF-1879] Downgrade netty dependency to 4.0.23.Final
This addressed the issue by
* downgrading REEF to use Netty 4.0.23.Final for Hadoop compatibility
* updating NameLookupClient to throw NamingException on replyQueue.poll timeout instead of NullPointerException
JIRA:
[REEF-1879](https://issues.apache.org/jira/browse/REEF-1879)
Pull request:
This closes #1373
diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java
index bd3d691..0e10680 100644
--- a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java
+++ b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java
@@ -61,7 +61,7 @@
if (nodeDescriptor == null) {
final String nodeId = resourceEvent.getNodeId();
- LOG.log(Level.WARNING, "Node {} is not in our catalog, adding it", nodeId);
+ LOG.log(Level.WARNING, "Node {0} is not in our catalog, adding it", nodeId);
final String[] hostNameAndPort = nodeId.split(":");
Validate.isTrue(hostNameAndPort.length == 2);
final NodeDescriptorEvent nodeDescriptorEvent = NodeDescriptorEventImpl.newBuilder().setIdentifier(nodeId)
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 327b9d6..d5bf71a 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
@@ -49,6 +49,7 @@
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
@@ -206,7 +207,8 @@
}
}
- final List<NameAssignment> list = resp.getNameAssignments();
+ final List<NameAssignment> list = resp == null ? Collections.<NameAssignment>emptyList()
+ : resp.getNameAssignments();
if (list.isEmpty()) {
throw new NamingException("Cannot find " + id + " from the name server");
} else {
diff --git a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java
index e27de5d..bee3374 100644
--- a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java
+++ b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java
@@ -147,9 +147,9 @@
*/
private byte[] sizeAsByteArr(final int size) {
final byte[] ret = new byte[INT_SIZE];
- final ByteBuf intBuffer = Unpooled.wrappedBuffer(ret);
+ final ByteBuf intBuffer = Unpooled.wrappedBuffer(ret).order(Unpooled.LITTLE_ENDIAN);
intBuffer.clear();
- intBuffer.writeIntLE(size);
+ intBuffer.writeInt(size);
intBuffer.release();
return ret;
}
@@ -170,8 +170,8 @@
return 0;
}
- final ByteBuf intBuffer = Unpooled.wrappedBuffer(data, offset, INT_SIZE);
- final int ret = intBuffer.readIntLE();
+ final ByteBuf intBuffer = Unpooled.wrappedBuffer(data, offset, INT_SIZE).order(Unpooled.LITTLE_ENDIAN);
+ final int ret = intBuffer.readInt();
intBuffer.release();
return ret;
diff --git a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java
index 08ab08f..2643030 100644
--- a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java
+++ b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java
@@ -320,7 +320,7 @@
}
break;
} catch (final Exception e) {
- if (e.getClass().getSimpleName().compareTo("AnnotatedConnectException") == 0) {
+ if (e.getClass().getSimpleName().compareTo("ConnectException") == 0) {
LOG.log(Level.WARNING, "Connection refused. Retry {0} of {1}",
new Object[]{i + 1, this.numberOfTries});
synchronized (flag) {
diff --git a/pom.xml b/pom.xml
index 3b7870c..6633316 100644
--- a/pom.xml
+++ b/pom.xml
@@ -703,7 +703,7 @@
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
- <version>4.1.15.Final</version>
+ <version>4.0.23.Final</version>
</dependency>
<dependency>