[
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)