[ 
https://issues.apache.org/jira/browse/ARTEMIS-3021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francesco Nigro updated ARTEMIS-3021:
-------------------------------------
    Description: 
This is affecting clustered Core messages (persistent or not).

The process that cause the wrong estimation is:
 # add route information to the message
 # get memory estimation for paging (ie address size estimation) without 
accounting the new route information
 # get message persist size for durable append on journal/to update queue 
statistics, triggering a re-encoding
 # re-encoding (can) enlarge the message buffer to be the next power of 2 
available capacity

The 2 fixes are:
 * getting a correct memory estimation of the message
 * save the buffer on encoding to grow using the default Netty's 
ByteBuf::ensureWritable strategy

  was:
This is affecting clustered Core messages.

The process that cause the wrong estimation is:
 # add route information to the message
 # get memory estimation for paging (ie address size estimation) without 
accounting the new route information
 # get message persist size for durable append on journal/to update queue 
statistics, triggering a re-encoding
 # re-encoding (can) enlarge the message buffer to be the next power of 2 
available capacity

The 2 fixes are:
 * getting a correct memory estimation of the message
 * save the buffer on encoding to grow using the default Netty's 
ByteBuf::ensureWritable strategy


> OOM due to wrong CORE clustered message memory estimation
> ---------------------------------------------------------
>
>                 Key: ARTEMIS-3021
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3021
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> This is affecting clustered Core messages (persistent or not).
> The process that cause the wrong estimation is:
>  # add route information to the message
>  # get memory estimation for paging (ie address size estimation) without 
> accounting the new route information
>  # get message persist size for durable append on journal/to update queue 
> statistics, triggering a re-encoding
>  # re-encoding (can) enlarge the message buffer to be the next power of 2 
> available capacity
> The 2 fixes are:
>  * getting a correct memory estimation of the message
>  * save the buffer on encoding to grow using the default Netty's 
> ByteBuf::ensureWritable strategy



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to