You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "juergen schmied (JIRA)" <ji...@apache.org> on 2018/11/27 03:54:00 UTC

[jira] [Updated] (ARTEMIS-2185) High allocation pressure due to pre generated ActiveMQExceptionMessage

     [ https://issues.apache.org/jira/browse/ARTEMIS-2185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

juergen schmied updated ARTEMIS-2185:
-------------------------------------
    Description: 
In org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl there is
{code:java}
   public void returnBlocking(Throwable cause) {
      lock.lock();

      try {
         response = new ActiveMQExceptionMessage(ActiveMQClientMessageBundle.BUNDLE.unblockingACall(cause));

         sendCondition.signal();
      } finally {
         lock.unlock();
      }
   }
{code}

The response is created but not used normally.

For every get/close connection there is the a ActiveMQExceptionMessage incl. stacktrace created and abandoned.

This shows a high allocation pressure in jmc (8 MB garbage/200 calls).

please don't precreate the unused exception (maybe use a producer producing exception when really needed)


  was:
In org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl there is
{code:java}
   public void returnBlocking(Throwable cause) {
      lock.lock();

      try {
         response = new ActiveMQExceptionMessage(ActiveMQClientMessageBundle.BUNDLE.unblockingACall(cause));

         sendCondition.signal();
      } finally {
         lock.unlock();
      }
   }
{code}

The response is created but normally not used.

For every get/close connection there is the a ActiveMQExceptionMessage incl. stacktrace created and abandoned.

This shows a high allocation pressure in jmc (8 MB garbage/200 calls).

please don't precreate the unused exception (maybe use a producer producing exception when really needed)



> High allocation pressure due to pre generated ActiveMQExceptionMessage
> ----------------------------------------------------------------------
>
>                 Key: ARTEMIS-2185
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2185
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 2.6.3
>            Reporter: juergen schmied
>            Priority: Minor
>
> In org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl there is
> {code:java}
>    public void returnBlocking(Throwable cause) {
>       lock.lock();
>       try {
>          response = new ActiveMQExceptionMessage(ActiveMQClientMessageBundle.BUNDLE.unblockingACall(cause));
>          sendCondition.signal();
>       } finally {
>          lock.unlock();
>       }
>    }
> {code}
> The response is created but not used normally.
> For every get/close connection there is the a ActiveMQExceptionMessage incl. stacktrace created and abandoned.
> This shows a high allocation pressure in jmc (8 MB garbage/200 calls).
> please don't precreate the unused exception (maybe use a producer producing exception when really needed)



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