[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