[
https://issues.apache.org/jira/browse/QPID-6792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14968762#comment-14968762
]
Keith Wall commented on QPID-6792:
----------------------------------
Hi Lorenz,
# I worry about the cost of the call to getContextValue() for
QUEUE_ESTIMATED_MESSAGE_MEMORY_OVERHEAD on the enqueue path. We have a string
creation to create a property name, then resolving and checks for
interpolation. This seems heavy for such a hot path. I think having
AbstractQueue cached the context value as a field would be preferable. I
realise that would mean we lose the ability to adjust on the fly.
# In AbstractQueue#checkMessageStatus if the length of the queue changes whilst
checkMessageStatus is in flight, the decision to flow to disk could be made
wrongly. Rather than observing the size of the queue at the start of the
method and calculating the estimated storage occupied by the headers at that
point, would it not be better to wait until we know a node is neither deleted
nor expired, then add its payload size/header overhead to the
cumulativeQueueSize?
> Enqueue path should report flow to disk state change too
> --------------------------------------------------------
>
> Key: QPID-6792
> URL: https://issues.apache.org/jira/browse/QPID-6792
> Project: Qpid
> Issue Type: Improvement
> Components: Java Broker
> Reporter: Keith Wall
>
> Currently the housekeeping task logs the change in flow to disk state with
> messages (BRK-1014/BRK-1015), however as housekeeping is periodic, the change
> in state might not be reported for up to a full housekeeping cycle. The
> enqueue path may have been flowing newly arrived transient messages to disk
> for the intervening period.
> This will make it harder to reason about the behaviour of the Broker from the
> logs.
> It would be better if the flow to disk state change message could be provoked
> by the enqueue path too.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]