[ https://issues.apache.org/jira/browse/STORM-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14215731#comment-14215731 ]
ASF GitHub Bot commented on STORM-329: -------------------------------------- Github user tedxia commented on the pull request: https://github.com/apache/storm/pull/268#issuecomment-63424599 @ptgoetz I have merge storm/master to this patch and all tests pass except "storm-core/test/clj/backtype/storm/multilang_test.clj", test results are(after I removed multilang_test.clj): ``` [INFO] Reactor Summary: [INFO] [INFO] Storm ............................................. SUCCESS [1.340s] [INFO] maven-shade-clojure-transformer ................... SUCCESS [1.712s] [INFO] Storm Core ........................................ SUCCESS [6:04.103s] [INFO] storm-starter ..................................... SUCCESS [7.010s] [INFO] storm-kafka ....................................... SUCCESS [1:03.183s] [INFO] storm-hdfs ........................................ SUCCESS [2.056s] [INFO] storm-hbase ....................................... SUCCESS [2.186s] [INFO] Storm Binary Distribution ......................... SUCCESS [0.185s] [INFO] Storm Source Distribution ......................... SUCCESS [0.136s] ``` When I run multilang_test.clj, I got exception like this: ``` java.lang.Exception: Shell Process Exception: Exception in bolt: "\xE4" on US-ASCII - /usr/lib/ruby/1.9.1/json/common.rb:148:in `encode'\n/usr/lib/ruby/1.9.1/json/common.rb:148:in `initialize'\n/usr/lib/ruby/1.9.1/json/common.rb:148:in `new'\n/usr/lib/ruby/1.9.1/json/common.rb:148:in `parse'\n/tmp/81b49de0-4ee0-493a-afe0-6286e393fb14/supervisor/stormdist/test-1-1416288370/resources/storm.rb:39:in `read_message'\n/tmp/81b49de0-4ee0-493a-afe0-6286e393fb14/supervisor/stormdist/test-1-1416288370/resources/storm.rb:57:in `read_command'\n/tmp/81b49de0-4ee0-493a-afe0-6286e393fb14/supervisor/stormdist/test-1-1416288370/resources/storm.rb:190:in `run'\ntester_bolt.rb:37:in `<main>' at backtype.storm.task.ShellBolt.handleError(ShellBolt.java:188) [classes/:na] at backtype.storm.task.ShellBolt.access$1100(ShellBolt.java:69) [classes/:na] at backtype.storm.task.ShellBolt$BoltReaderRunnable.run(ShellBolt.java:331) [classes/:na] at java.lang.Thread.run(Thread.java:662) [na:1.6.0_37] 124526 [Thread-1209] ERROR backtype.storm.task.ShellBolt - Halting process: ShellBolt died. java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: Pipe to subprocess seems to be broken! No output read. Serializer Exception: at backtype.storm.utils.ShellProcess.readShellMsg(ShellProcess.java:101) ~[classes/:na] at backtype.storm.task.ShellBolt$BoltReaderRunnable.run(ShellBolt.java:318) ~[classes/:na] at java.lang.Thread.run(Thread.java:662) [na:1.6.0_37] 124527 [Thread-1209] ERROR backtype.storm.daemon.executor - java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: Pipe to subprocess seems to be broken! No output read. Serializer Exception: at backtype.storm.utils.ShellProcess.readShellMsg(ShellProcess.java:101) ~[classes/:na] at backtype.storm.task.ShellBolt$BoltReaderRunnable.run(ShellBolt.java:318) ~[classes/:na] at java.lang.Thread.run(Thread.java:662) [na:1.6.0_37] ``` When I run multilang_test.clj at storm/master, I got the same exception, I think this may be my personal environment problem, can you merge this to 0.9.3 branch and run tests again, thanks a lot. > Add Option to Config Message handling strategy when connection timeout > ---------------------------------------------------------------------- > > Key: STORM-329 > URL: https://issues.apache.org/jira/browse/STORM-329 > Project: Apache Storm > Issue Type: Improvement > Affects Versions: 0.9.2-incubating > Reporter: Sean Zhong > Priority: Minor > Labels: Netty > Fix For: 0.9.3-rc2 > > Attachments: storm-329.patch, worker-kill-recover3.jpg > > > This is to address a [concern brought > up|https://github.com/apache/incubator-storm/pull/103#issuecomment-43632986] > during the work at STORM-297: > {quote} > [~revans2] wrote: Your logic makes since to me on why these calls are > blocking. My biggest concern around the blocking is in the case of a worker > crashing. If a single worker crashes this can block the entire topology from > executing until that worker comes back up. In some cases I can see that being > something that you would want. In other cases I can see speed being the > primary concern and some users would like to get partial data fast, rather > then accurate data later. > Could we make it configurable on a follow up JIRA where we can have a max > limit to the buffering that is allowed, before we block, or throw data away > (which is what zeromq does)? > {quote} > If some worker crash suddenly, how to handle the message which was supposed > to be delivered to the worker? > 1. Should we buffer all message infinitely? > 2. Should we block the message sending until the connection is resumed? > 3. Should we config a buffer limit, try to buffer the message first, if the > limit is met, then block? > 4. Should we neither block, nor buffer too much, but choose to drop the > messages, and use the built-in storm failover mechanism? -- This message was sent by Atlassian JIRA (v6.3.4#6332)