[STORM-3661] handle exception when netty server receive unexpected message (#3296)
diff --git a/storm-client/src/jvm/org/apache/storm/messaging/netty/Server.java b/storm-client/src/jvm/org/apache/storm/messaging/netty/Server.java
index 8a37d1e..94c5d75 100644
--- a/storm-client/src/jvm/org/apache/storm/messaging/netty/Server.java
+++ b/storm-client/src/jvm/org/apache/storm/messaging/netty/Server.java
@@ -260,7 +260,16 @@
@Override
public void received(Object message, String remote, Channel channel) throws InterruptedException {
- List<TaskMessage> msgs = (List<TaskMessage>) message;
+ List<TaskMessage> msgs;
+
+ try {
+ msgs = (List<TaskMessage>) message;
+ } catch (ClassCastException e) {
+ LOG.error("Worker netty server received message other than the expected class List<TaskMessage> from remote: {}. Ignored.",
+ remote, e);
+ return;
+ }
+
enqueue(msgs, remote);
}