-
Task
-
Resolution: Done
-
Major
-
None
-
None
Profiling has identified a disproportionate amount of core-thread time being spent in qdr_delete_delivery_internal_CT. This is due to the fact that every in-core delivery-free results in the posting of one unit of general work (work to be performed by an I/O thread without any association with a particular connection).
This improvement batches the freed messages to be handled at one time, with one unit of general work, at the end of the processing of each set of core-thread actions.
The result is a greater degree of batching of message-cleanups when the core thread is busier. This will free up core-thread CPU capacity for when the router is the busiest.
See upstream issue: https://issues.apache.org/jira/browse/DISPATCH-1281