[ https://issues.apache.org/jira/browse/QPID-7830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16055947#comment-16055947 ]
Rob Godfrey commented on QPID-7830: ----------------------------------- {quote} On the AMQP 0-8..0-91, with things like contentType, path I wonder if keeping the BasicContentHeaderProperties#_contentType as a separate AMQShortString is useful. {quote} I agree - it would be better here to simply use Strings for all the string like properties in the content header properties, and we can have a static list of "common" types, and if the string is in that list we'll use the static value. > Heap dominated by duplicates of common routing values / header values etc > ------------------------------------------------------------------------- > > Key: QPID-7830 > URL: https://issues.apache.org/jira/browse/QPID-7830 > Project: Qpid > Issue Type: Bug > Components: Java Broker > Reporter: Keith Wall > > When used for store and forwarding, in some use cases the Broker's heap can > become dominated by duplicates of common values such as routing information > (e.g. {{amq.direct}} or an application's queue name) or common header values > (e.g a application/octet-stream or an application's user id). > On the 0-8..0-91 paths, every enqueued message gets its own > {{MessagePublishInfo}} referencing its own {{AMQShortString}} exchange and > routing keys. For some use-cases, these are drawn from a small set. On the > AMQP 1.0 path, {{Properties#to}} is an example. 0-10 is probably affected > too. > This unnecessarily increases the heap requirements of the Broker. > The Broker should adopt a sensible intern/caching policy with the same policy > applying regardless of whether messages follow the on-line enqueue or > recovery path. Note that in AMQP 1.0, values which are {{Symbols}} have > their underlying String automatically interned. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org