You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Christopher L. Shannon (Jira)" <ji...@apache.org> on 2024/04/21 15:17:00 UTC

[jira] [Comment Edited] (AMQ-9483) Non Daemon Connection Keeping JVM alive when combined with optimizedAckScheduledAckInterval

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

Christopher L. Shannon edited comment on AMQ-9483 at 4/21/24 3:16 PM:
----------------------------------------------------------------------

This is something that would need to be carefully considered and tested to make sure changing something like this does not re-introduce this problem https://issues.apache.org/jira/browse/AMQ-796

At first glance I think a change like this might be ok since AMQ-796 appeared to make the change in ActiveMQConnection here: [https://github.com/apache/activemq/blob/6084867b26619ab614bc117667a32649def5887a/activemq-client/src/main/java/org/apache/activemq/ActiveMQConnection.java#L238]

and by default this feature is disabled anyways, but it needs to be looked at more to double check

 


was (Author: christopher.l.shannon):
This is something that would need to be carefully considered and tested to make sure changing something like this does not re-introduce this problem https://issues.apache.org/jira/browse/AMQ-796

At first glance I think a change like this might be ok since AMQ-796 appeared to make the change in ActiveMQConnection here: [https://github.com/apache/activemq/blob/6084867b26619ab614bc117667a32649def5887a/activemq-client/src/main/java/org/apache/activemq/ActiveMQConnection.java#L238]

but it needs to be looked at more

 

> Non Daemon Connection Keeping JVM alive when combined with optimizedAckScheduledAckInterval
> -------------------------------------------------------------------------------------------
>
>                 Key: AMQ-9483
>                 URL: https://issues.apache.org/jira/browse/AMQ-9483
>             Project: ActiveMQ Classic
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.18.4
>            Reporter: Matthew Washburn
>            Priority: Major
>         Attachments: 0001-make-sure-the-executor-service-for-deliveryingAcknow.patch
>
>
> The thread used to send ack unacked messages when using the optimizedAckScheduledAckInterval is not daemon even if the connection is set to daemon. This is probably advantageous as you would not want a queue or durable topic consumer to shutdown before it has finished acking a message causing it to be redelivered on restart. On the other hand, it means that if the optimized ack scheduler ever kicks in on a daemon connection the JVM will never exit. Also the thread isn't uniquely named so it's hard to track down.
>  
> I'm not sure how to get in the situation where there are unacked messages that are acked by the timer so I'm not sure how to create a simple repo script but the attached patch fixes my application. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)