Repository: samza Updated Branches: refs/heads/master 1956dac94 -> 6f811de30
SAMZA-1121; StreamAppender should not propagate exceptions to the caller StreamAppender#append currently propagates any exceptions while sending messages to the underlying logging system to the calling code. Since users don't expect log statements to throw exceptions, this can cause unexpected failures scenarios. We should catch exceptions and log to stderr instead. Author: Prateek Maheshwari <pmahe...@linkedin.com> Reviewers: Jagadish <jagad...@apache.org> Closes #78 from prateekm/stream-appender-fix Project: http://git-wip-us.apache.org/repos/asf/samza/repo Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/6f811de3 Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/6f811de3 Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/6f811de3 Branch: refs/heads/master Commit: 6f811de30a2db7a1616839499f520663087e6345 Parents: 1956dac Author: Prateek Maheshwari <pmahe...@linkedin.com> Authored: Wed Mar 8 00:26:46 2017 -0800 Committer: vjagadish1989 <jvenk...@linkedin.com> Committed: Wed Mar 8 00:26:46 2017 -0800 ---------------------------------------------------------------------- .../java/org/apache/samza/logging/log4j/StreamAppender.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/samza/blob/6f811de3/samza-log4j/src/main/java/org/apache/samza/logging/log4j/StreamAppender.java ---------------------------------------------------------------------- diff --git a/samza-log4j/src/main/java/org/apache/samza/logging/log4j/StreamAppender.java b/samza-log4j/src/main/java/org/apache/samza/logging/log4j/StreamAppender.java index 5b532bc..e442599 100644 --- a/samza-log4j/src/main/java/org/apache/samza/logging/log4j/StreamAppender.java +++ b/samza-log4j/src/main/java/org/apache/samza/logging/log4j/StreamAppender.java @@ -20,7 +20,6 @@ package org.apache.samza.logging.log4j; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.net.URL; import java.util.concurrent.atomic.AtomicBoolean; @@ -115,8 +114,9 @@ public class StreamAppender extends AppenderSkeleton { new OutgoingMessageEnvelope(systemStream, key.getBytes("UTF-8"), serde.toBytes(subLog(event))); systemProducer.send(SOURCE, outgoingMessageEnvelope); } - } catch (UnsupportedEncodingException e) { - throw new SamzaException("can not send the log messages", e); + } catch (Exception e) { + System.err.println("[StreamAppender] Error sending log message:"); + e.printStackTrace(); } finally { recursiveCall.set(false); }