[ https://issues.apache.org/jira/browse/STORM-871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14621619#comment-14621619 ]
ASF GitHub Bot commented on STORM-871: -------------------------------------- Github user HeartSaVioR commented on a diff in the pull request: https://github.com/apache/storm/pull/602#discussion_r34323522 --- Diff: storm-multilang/python/src/main/resources/resources/storm.py --- @@ -29,6 +30,26 @@ json_encode = lambda x: json.dumps(x) json_decode = lambda x: json.loads(x) +# scheduled timer running job at fixed rate (note: GIL!) --- End diff -- Thanks @dan-blanchard , I experimented about python's GIL just now, and with python 2.7.6 in OSX I found that other thread can hold CPU more than 1 sec when timer is expired at that time. https://gist.github.com/HeartSaVioR/34d90cdd6af906e72935 Actually I wasn't affected this issue during I was working with Python cause it was I/O intensive job, and seems like it isn't same to CPU intensive job. Default tick time is somewhat very long. I found one document which says tick time is about ~6.5 secs, which doesn't meet our requirement. GIL is a major problem, and maybe I should check it with Ruby. > Change multilang heartbeat mechanism to multi-threading of subprocess > --------------------------------------------------------------------- > > Key: STORM-871 > URL: https://issues.apache.org/jira/browse/STORM-871 > Project: Apache Storm > Issue Type: Improvement > Reporter: Jungtaek Lim > Assignee: Jungtaek Lim > > Having design constraint of multilang heartbeat, some issues are raised at > the moment. > (https://issues.apache.org/jira/browse/STORM-738 is a kind of reporting) > I'm trying to add workarounds > (https://issues.apache.org/jira/browse/STORM-742 and so on), but if we can > get rid of design constraint it would be really great. > Maybe we can use pid file of subprocess (subprocess write it from sendpid()) > to check subprocess heartbeat from ShellSpout / ShellBolt. > Letting subprocess launch new thread which writes pid file periodically, to > make sure "modified time" of file is periodically up to date. (It is just an > idea, and it should be validated.) -- This message was sent by Atlassian JIRA (v6.3.4#6332)