Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
Low
Description
I believe this explains the issue better than I can: http://stackoverflow.com/questions/11695500/how-do-i-get-java-to-exit-when-piped-to-head.
Basically, I expected that if I did: "sstable2json SSTABLE | other-process", and other-process had issues and/or died then the sstable2json process would die. It doesn't.
My workaround is using mkfifo FILE, and having sstable2json write to FILE, other-process read from FILE, and a 3rd overall process make sure the other two processes are working. But, it would be much simplier if sstable2json failed on SIGPIPE.
I looks like the fix is to periodically check System.out.checkError() in the Java.