[
https://issues.apache.org/jira/browse/KAFKA-671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sriram Subramanian updated KAFKA-671:
-------------------------------------
Attachment: outOfMemFix-v1.patch
This is one possible fix. The fix would largely depend on the decision for
Kafka 703 but I just wanted one possible fix to be available to make better
decision on the other bug.
1. We now create a map of topic partion -> messagesizes and DelayedProduce uses
this instead of the entire data payload.
2. We reset the data payload at the end of HandleProduceRequest.
The only way I have found to reset the immutable maps is to make them vars
(Other option is to convert them to mutable maps but that involves a ton of
code changes (all the place where the data objects are passed around need to be
changed to mutable maps). Let me know of a better option in Scala.
The expectation is that the data object will not be used after the reset method
is called.
> DelayedProduce requests should not hold full producer request data
> ------------------------------------------------------------------
>
> Key: KAFKA-671
> URL: https://issues.apache.org/jira/browse/KAFKA-671
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.8
> Reporter: Joel Koshy
> Assignee: Sriram Subramanian
> Priority: Blocker
> Fix For: 0.8.1
>
> Attachments: outOfMemFix-v1.patch
>
>
> Per summary, this leads to unnecessary memory usage.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira