[
https://issues.apache.org/jira/browse/STORM-63?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13924016#comment-13924016
]
ASF GitHub Bot commented on STORM-63:
-------------------------------------
Github user xiaokang commented on a diff in the pull request:
https://github.com/apache/incubator-storm/pull/33#discussion_r10388407
--- Diff: storm-core/src/clj/backtype/storm/daemon/drpc.clj ---
@@ -59,6 +63,8 @@
(when-let [sem (@id->sem id)]
(swap! id->result assoc id
(DRPCExecutionException. "Request timed out"))
(.release sem))
+ (.remove (acquire-queue request-queues
(@id->function id)) (@id->request id))
+ (log-warn "Timeout DRPC request id: " id "
start at " start)
(cleanup id)
--- End diff --
Yes, we have seen this happen in practice. In fact it's much possible to to
return null instead of throw an exception when drpc request is timeout. For
example a python drpc client will print "execute failed: unknown result".
> timeout request stay in queue of drpc server
> --------------------------------------------
>
> Key: STORM-63
> URL: https://issues.apache.org/jira/browse/STORM-63
> Project: Apache Storm (Incubating)
> Issue Type: Improvement
> Reporter: James Xu
>
> https://github.com/nathanmarz/storm/issues/430
> When a drpc request timeout, it is not removed from the queue of drpc server.
> This will cause memory leak.
--
This message was sent by Atlassian JIRA
(v6.2#6252)