You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by William Oberman <ob...@civicscience.com> on 2014/10/23 21:10:53 UTC

multilang + failure modes

Before I really dig into things, I want to see if this makes any sense.
I'm running 0.92, and still fairly a novice.

Using multilang to bridge into existing BL code (in php, don't ask).  I'm
seeing part of my topology grind to a halt in the wild.  My theory is it
has something with php failure modes.

If I'm running a topology and I kill a "managed" php process, everything
about that part of the topology stops, but then things respwan and life
goes on.  Looking at the logs, I can see Java detects broken STDIN/OUT
pipes.

But, if the php OOMs, then this part of the topology "locks up" for 20
minutes (where does that come from???).  I *think* Java has no idea the
managed process died.  Looking through the storm source, I can only imagine
it's something about the Storm <-> java.lang.Process bridge (spread across
ShellBolt, ShellProcess, and JsonSerializer).

Does this make any sense?  I had been using binaries, but getting up to
speed on compiling storm now to debug this manually...

I'm able to quickly force the issue by running this in a php bolt:
while(true) {
 $tmp[] = 1;
}

will

Re: multilang + failure modes

Posted by 임정택 <ka...@gmail.com>.
It can be related to STORM-513.
But it fixes only python, ruby, nodejs multilang.
Hope this helps.

2014년 10월 24일 금요일, William Oberman<ob...@civicscience.com>님이 작성한 메시지:

> I'm thinking I'm getting hit with:
> https://issues.apache.org/jira/browse/STORM-442
>
> On Thu, Oct 23, 2014 at 3:10 PM, William Oberman <oberman@civicscience.com
> <javascript:_e(%7B%7D,'cvml','oberman@civicscience.com');>> wrote:
>
>> Before I really dig into things, I want to see if this makes any sense.
>> I'm running 0.92, and still fairly a novice.
>>
>> Using multilang to bridge into existing BL code (in php, don't ask).  I'm
>> seeing part of my topology grind to a halt in the wild.  My theory is it
>> has something with php failure modes.
>>
>> If I'm running a topology and I kill a "managed" php process, everything
>> about that part of the topology stops, but then things respwan and life
>> goes on.  Looking at the logs, I can see Java detects broken STDIN/OUT
>> pipes.
>>
>> But, if the php OOMs, then this part of the topology "locks up" for 20
>> minutes (where does that come from???).  I *think* Java has no idea the
>> managed process died.  Looking through the storm source, I can only imagine
>> it's something about the Storm <-> java.lang.Process bridge (spread across
>> ShellBolt, ShellProcess, and JsonSerializer).
>>
>> Does this make any sense?  I had been using binaries, but getting up to
>> speed on compiling storm now to debug this manually...
>>
>> I'm able to quickly force the issue by running this in a php bolt:
>> while(true) {
>>  $tmp[] = 1;
>> }
>>
>> will
>>
>
>
>

-- 
Name : 임 정택
Blog : http://www.heartsavior.net / http://dev.heartsavior.net
Twitter : http://twitter.com/heartsavior
LinkedIn : http://www.linkedin.com/in/heartsavior

Re: multilang + failure modes

Posted by William Oberman <ob...@civicscience.com>.
I'm thinking I'm getting hit with:
https://issues.apache.org/jira/browse/STORM-442

On Thu, Oct 23, 2014 at 3:10 PM, William Oberman <ob...@civicscience.com>
wrote:

> Before I really dig into things, I want to see if this makes any sense.
> I'm running 0.92, and still fairly a novice.
>
> Using multilang to bridge into existing BL code (in php, don't ask).  I'm
> seeing part of my topology grind to a halt in the wild.  My theory is it
> has something with php failure modes.
>
> If I'm running a topology and I kill a "managed" php process, everything
> about that part of the topology stops, but then things respwan and life
> goes on.  Looking at the logs, I can see Java detects broken STDIN/OUT
> pipes.
>
> But, if the php OOMs, then this part of the topology "locks up" for 20
> minutes (where does that come from???).  I *think* Java has no idea the
> managed process died.  Looking through the storm source, I can only imagine
> it's something about the Storm <-> java.lang.Process bridge (spread across
> ShellBolt, ShellProcess, and JsonSerializer).
>
> Does this make any sense?  I had been using binaries, but getting up to
> speed on compiling storm now to debug this manually...
>
> I'm able to quickly force the issue by running this in a php bolt:
> while(true) {
>  $tmp[] = 1;
> }
>
> will
>