Github user franz1981 commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/2090#discussion_r188530577
  
    --- Diff: 
artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQSession.java
 ---
    @@ -308,6 +312,8 @@ public int sendMessage(MessageReference reference,
                               ServerConsumer consumer,
                               int deliveryCount) {
           AMQConsumer theConsumer = (AMQConsumer) consumer.getProtocolData();
    +      //clear up possible rolledback ids.
    +      rollbackedIds.remove(message.getMessageID());
    --- End diff --
    
    That's in the hot path of any send operation and `rollbackIds` would be 
contended by all the producers/consumers using the same AMQSession and it 
create a Long instance on any call of it. There are other ways to implement it?


---

Reply via email to