You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Marc Vaillant <va...@animetrics.com> on 2014/03/24 18:00:20 UTC

One solution to the stdio redirect issue

I put together a more complete solution to the insidious STDOUT/STDERR
buffer filling issue.  Basically, if STDOUT/STDERR is not
redirected/consumed in cluster mode it will fill the buffer and
eventually take down your topology.  The original thread on this issue
was not migrated to JIRA but related issues can be found here:

https://issues.apache.org/jira/browse/STORM-202?jql=project%20%3D%20STORM%20AND%20text%20~%20%22stdout%22

Early on, Nathan added a redirect to Log4j that will work for Java, but
not for STDOUT/STDERR coming from native code.  So if your spouts and/or
bolts use a native JNI library and that library writes to STDOUT or
STDERR, you will encounter this problem.  I put together a library that
will redirect all (including native) STDOUT and STDERR to Log4j.  We
have been using it now for a couple weeks in our topologies.
https://github.com/animetrics/STDIORedirect 

I hope someone else can find it useful.

Best,
Marc