[ https://issues.apache.org/jira/browse/STORM-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rick Kellogg updated STORM-351: ------------------------------- Component/s: storm-multilang > multilang python process fall into endless loop > ----------------------------------------------- > > Key: STORM-351 > URL: https://issues.apache.org/jira/browse/STORM-351 > Project: Apache Storm > Issue Type: Bug > Components: storm-multilang > Affects Versions: 0.9.3 > Environment: storm 0.9.3-incubating > Reporter: DashengJu > Assignee: DashengJu > Priority: Blocker > Fix For: 0.9.3 > > > 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.3.4#6332)