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

Francesco Nigro updated ARTEMIS-3651:
-------------------------------------
    Description: 
{{batchDelay}} is an ancient acceptors/connnectors configuration parameter that 
aim to batching while sending messages through Netty by using a separate 
thread, looping over all active connections, to flush pending batches in 
background.
This is going to use additional Threads (to perform flush) and complicate our 
internal APIs to deal with batching logic (see {{NettyConnection::write}} 
{{flush}} and {{batched}} parameters).

https://netty.io/4.1/api/io/netty/handler/flush/FlushConsolidationHandler.html  
configured with {{ consolidateWhenNoReadInProgress == true}} works in the same 
way, while simplifying Artemis code-base and APIs  ie much less code to be 
maintained

This same could be used on cluster connections by default (see ARTEMIS-3045 for 
more info) or could be installed while these are used as replication channel(s)

  was:
{{batchDelay}} is an ancient acceptors/connnectors configuration parameter that 
aim to force batching while sending messages through Netty and use a separate 
thread, looping over all active connections, to flush pending batches in 
background.

https://netty.io/4.1/api/io/netty/handler/flush/FlushConsolidationHandler.html  
configured with {{ consolidateWhenNoReadInProgress == true}} works in the same 
way, while simplifying Artemis code-base ie much less code to be maintained


> Simplify batch-delay with Netty's FlushConsolidationHandler
> -----------------------------------------------------------
>
>                 Key: ARTEMIS-3651
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3651
>             Project: ActiveMQ Artemis
>          Issue Type: Wish
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Major
>
> {{batchDelay}} is an ancient acceptors/connnectors configuration parameter 
> that aim to batching while sending messages through Netty by using a separate 
> thread, looping over all active connections, to flush pending batches in 
> background.
> This is going to use additional Threads (to perform flush) and complicate our 
> internal APIs to deal with batching logic (see {{NettyConnection::write}} 
> {{flush}} and {{batched}} parameters).
> https://netty.io/4.1/api/io/netty/handler/flush/FlushConsolidationHandler.html
>   configured with {{ consolidateWhenNoReadInProgress == true}} works in the 
> same way, while simplifying Artemis code-base and APIs  ie much less code to 
> be maintained
> This same could be used on cluster connections by default (see ARTEMIS-3045 
> for more info) or could be installed while these are used as replication 
> channel(s)



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to