[prev in list] [next in list] [prev in thread] [next in thread]
List: activemq-dev
Subject: [jira] [Created] (AMQ-5748) Add the ability to get Message Size from a Message Store
From: "Christopher L. Shannon (JIRA)" <jira () apache ! org>
Date: 2015-04-27 18:27:39
Message-ID: JIRA.12824372.1430159235000.41155.1430159259886 () Atlassian ! JIRA
[Download RAW message or body]
Christopher L. Shannon created AMQ-5748:
-------------------------------------------
Summary: Add the ability to get Message Size from a Message Store
Key: AMQ-5748
URL: https://issues.apache.org/jira/browse/AMQ-5748
Project: ActiveMQ
Issue Type: New Feature
Components: Broker
Affects Versions: 5.11.1
Reporter: Christopher L. Shannon
Priority: Minor
Currently, the {{MessageStore}} interface supports getting a count for messages ready \
to deliver using the {{getMessageCount}} method. It would also be very useful to be \
able to retrieve the message sizes for those counts as well for keeping track of \
metrics.
I've created a pull request to address this that adds a {{getMessageSize}} method \
that focuses specifically on KahaDB and the Memory store. The KahaDB store uses the \
same strategy as the existing {{getMessageCount}} method, which is to iterate over \
the index and total up the size of the messages. There are unit tests to show the \
size calculation and a unit test that shows a store based on version 5 working with \
the new version (the index is rebuilt)
One extra issue is that the size was not being serialized to the index (it was not \
included in the marshaller) so that required making a slight change and adding a new \
marshaller for {{Location}} to store the size in the location index of the store. \
Without this change, the size computation would not work when the broker was \
restarted since the size was not serialized.
Note that I wasn't sure the best way to handle the new marshaller and version \
compatibilities so I incremented the KahaDB version from 5 to 6. If an old version of \
the index is loaded, the index should be detected as corrupted and be rebuilt with \
the new format. If there is a better way to handle this upgrade let me know and the \
patch can certainly be updated.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic