[ 
https://issues.apache.org/jira/browse/STORM-289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13976329#comment-13976329
 ] 

Gangrui Li commented on STORM-289:
----------------------------------

I create a trident topology. After hundreds of millions of DRPC invoking I got 
OOM. I inspected the momory dump and found most momory are used by Long values.

You just missed one line "_msgIdToBatchId.put(r, batchIdVal);" emitting tuple 
in storm.trident.spout.RichSpoutBatchTriggerer.(added at line 161 for 
0.9.1-incubating)

Look at the code. It's easy to found the bug. After adding the missing line and 
re-compiling, my trident topology works well. 

> Trident DRPC memory leak
> ------------------------
>
>                 Key: STORM-289
>                 URL: https://issues.apache.org/jira/browse/STORM-289
>             Project: Apache Storm (Incubating)
>          Issue Type: Bug
>    Affects Versions: 0.9.2-incubating
>            Reporter: Gangrui Li
>
> storm.trident.spout.RichSpoutBatchTriggerer.java
> Missing code "_msgIdToBatchId.put(r, batchIdVal);" in emit method.
> As a consequence, ack/fail will get null batchId for each DRPC invoking, 
> which makes _finishConditions map larger and larger until out of memory.



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

Reply via email to