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:53:00 UTC
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=16699893#comment-16699893 ]
juergen schmied commented on ARTEMIS-2185:
------------------------------------------
{code}
org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.returnBlocking(java.lang.Throwable) line: 210
org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.fail(org.apache.activemq.artemis.api.core.ActiveMQException, java.lang.String) line: 215
org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl(org.apache.activemq.artemis.spi.core.protocol.AbstractRemotingConnection).fail(org.apache.activemq.artemis.api.core.ActiveMQException) line: 210
org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.connectionDestroyed(java.lang.Object) line: 533
org.apache.activemq.artemis.core.remoting.impl.invm.InVMAcceptor$Listener.connectionDestroyed(java.lang.Object) line: 292
org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnection.close() line: 140
org.apache.activemq.artemis.core.remoting.impl.invm.InVMAcceptor.disconnect(java.lang.String) line: 242
org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnector$Listener.connectionDestroyed(java.lang.Object) line: 256
org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnection.close() line: 140
org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.internalClose() line: 394
org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.destroy() line: 229
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.checkCloseConnection() line: 863
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.closeCleanSessions(boolean) line: 449
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.interruptConnectAndCloseAllSessions(boolean) line: 424
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.close() line: 457
org.apache.activemq.artemis.jms.client.ActiveMQConnection.close() line: 337
org.springframework.jms.connection.ConnectionFactoryUtils.releaseConnection(javax.jms.Connection, javax.jms.ConnectionFactory, boolean) line: 80
{code}
> 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 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)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)