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

Roshan Naik commented on FLUME-1860:
------------------------------------

Juhani..my bad, i was mistaken. Nevertheless..

Knowing the batch size could be used for optimizations in the transaction. For 
instance the put/take lists in the memory channel can be switched from a Linked 
list to an array based list which requires single memory allocation (batch 
sized) instead of one allocation for each put().  

Also as I am implementing the spillable channel 
[FLUME-1227|https://issues.apache.org/jira/browse/FLUME-1227], i am also 
finding  batchSize useful for deciding whether all the put()s in a transaction 
should go into primary memory channel or into the overflow channel  .. 
basically a put transaction cannot span both channels (to avoid splitting into 
multiple transactions) so there is a need for making such a decision up front.  
Currently i am using the transactionCapacity as a workaround to make this 
decision. 

                
> Remove transaction capacity from Memory and File channels
> ---------------------------------------------------------
>
>                 Key: FLUME-1860
>                 URL: https://issues.apache.org/jira/browse/FLUME-1860
>             Project: Flume
>          Issue Type: Bug
>            Reporter: Hari Shreedharan
>
> Transaction Capacity was primarily meant to be a memory safeguard. It ensures 
> that we don't have queues which are massive and can cause OOMs. I wonder if 
> there is a way of fixing this and making sure a malicious RpcClient cannot 
> cause OOMs by sending batches of huge sizes

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

Reply via email to