activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1803) MessageReference should include sessionId
Date Thu, 12 Apr 2018 14:26:00 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435669#comment-16435669
] 

ASF GitHub Bot commented on ARTEMIS-1803:
-----------------------------------------

Github user franz1981 commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2012
  
    @cshannon 
    Summarized:
    ```
    org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl:
    Instance size: 72 bytes
    Space losses: 2 bytes internal + 4 bytes external = 6 bytes total
    
    org.apache.activemq.artemis.core.paging.cursor.PagedReferenceImpl:
    Instance size: 104 bytes
    Space losses: 1 bytes internal + 4 bytes external = 5 bytes total
    
    org.apache.activemq.artemis.core.server.impl.LastValueQueue$HolderReference:
    Instance size: 40 bytes
    Space losses: 3 bytes internal + 0 bytes external = 3 bytes total
    ```
    `Instance size` is the value you're searching for: I have attached the `Space losses`
as well, because it
    is related to what @michaelandrepearce is saying: just adding that mere 4 bytes reference
(with heap < 32 Gb the JVM uses compressed oops by default) has added 4 bytes (external)
of padding ie a total of 8 bytes of more space used.
    TBH that's a difficult choice: we have done recently many changes to make every protocol
much GC "gentle" to allow scaling more easily, but @cshannon is right that there are monitoring/telemetry
reasons very important to be achieved as well.
    You both have very good points :O
    
    



> MessageReference should include sessionId
> -----------------------------------------
>
>                 Key: ARTEMIS-1803
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1803
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>    Affects Versions: 2.5.0
>            Reporter: Christopher L. Shannon
>            Assignee: Christopher L. Shannon
>            Priority: Minor
>
> Right now a MessageReference will track a consumerId (in certain scenarios) but the sessionId
is not included.  This is a problem because consumerIds are not unique and are duplicated
across sessions.  In order to find a unique consumer you need the sessionId and consumerId
as well. 
> A use case for when this is important is when writing custom plugins.  Some of the
callbacks pass a message reference and it would be good to be able to figure out which consumer
the reference belonged to such as in the messageAcknowledged callback.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message