You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "DashengJu (JIRA)" <ji...@apache.org> on 2014/06/13 08:04:02 UTC

[jira] [Created] (STORM-351) multilang python process fall into endless loop

DashengJu created STORM-351:
-------------------------------

             Summary: multilang python process fall into endless loop
                 Key: STORM-351
                 URL: https://issues.apache.org/jira/browse/STORM-351
             Project: Apache Storm (Incubating)
          Issue Type: Bug
    Affects Versions: 0.9.3-incubating
         Environment: storm 0.9.3-incubating
            Reporter: DashengJu
            Priority: Blocker


1. steps to reproduce
    1)  write a topology with a python bolt, run the topology on storm; then there will be two process for the bolt: the worker(java process for ShellBolt), python process.
    2)kill -9  the worker(java process for ShellBolt);

2. expected behavior
    the worker exit and the python process exist

3. actual, incorrect behavior
    the worker exit, but the python process never exist and fall into endless loop

4. analyse
    in storm.py,read tuple from stdin with follow function:

def readMsg():
    msg = ""
    while True:
        line = sys.stdin.readline()[0:-1]
        if line == "end":
            break
        msg = msg + line + "\n"
    return json_decode(msg[0:-1])

    when sys.stdin is closed, EOF is encountered, readline() return None, so readMsg fall into endless loop.



--
This message was sent by Atlassian JIRA
(v6.2#6252)