Github user revans2 commented on a diff in the pull request:
https://github.com/apache/storm/pull/2076#discussion_r111740922
--- Diff:
storm-core/src/jvm/org/apache/storm/serialization/KryoTupleDeserializer.java ---
@@ -50,7 +54,8 @@ public Tuple deserialize(byte[] ser) {
List<Object> values = _kryo.deserializeFrom(_kryoInput);
return new TupleImpl(_context, values, taskId, streamName, id);
} catch(IOException e) {
- throw new RuntimeException(e);
+ LOG.error("Failed to deserialize tuple.", e);
--- End diff --
Storm is designed to be a fail fast system, this fix appears to be doing
the opposite of that. If we cannot deserialize a tuple we need to make it very
very clear to the user that something bad is happening. Sadly in my experience
even crashing the worker is not always enough, but in most cases it is. Can we
do a System.exit after logging the error instead of returning null?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---