[
https://issues.apache.org/jira/browse/STORM-459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14101220#comment-14101220
]
Robert Joseph Evans commented on STORM-459:
-------------------------------------------
Not totally sure what is happening here. If your PHP is stuck writing to
stdout then like you said the spout is probably not reading that in.
https://github.com/apache/incubator-storm/blob/master/storm-core/src/jvm/backtype/storm/spout/ShellSpout.java?source=c
has the shell spout code. It will read from the stdout of the php process when
nextTuple, ack, or fail is called, and then it will drain the queue until a
sync command is returned. Do you have a stack trace of the java process when
this happens so you know what it is doing at this time?
> multilang seems had read from pipe but didn't clear the spout process's STDOUT
> ------------------------------------------------------------------------------
>
> Key: STORM-459
> URL: https://issues.apache.org/jira/browse/STORM-459
> Project: Apache Storm (Incubating)
> Issue Type: Bug
> Reporter: seanXh
>
> Hi,All
> I'am using the storm's multilang throughing PHP. But it seems have some
> problem.
> Then my spout is a php script which read contents from a file.And in the
> beginning of the 4Mb content,which runs correctly.But the php process will
> blocks in the write(1,xxxx...,when i strace -p the php spout.
> But when i use 'cat' read from the /proc/pid/fd/1 which is the php
> process STDOUT. All of the content had been handle correctly in the bolt is
> still there.
> So, i doubt that spout hangs out when write(1,xxx , is because that the
> process's STDOUT buffer is full of contents. But how can i prevent this issue.
> My environment is
> Linux : 2.6.32_1-9-3-1 kernel.
> Java: 1.6.0_33
> Storm:0.8.2 or 0.8.1
> PHP: 5.2
>
> Thx
>
> Sean
--
This message was sent by Atlassian JIRA
(v6.2#6252)