Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-9483

Non Daemon Connection Keeping JVM alive when combined with optimizedAckScheduledAckInterval

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 5.18.4
    • None
    • JMS client
    • None
    • Patch Available
    • Patch

    Description

      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. 

      Attachments

        1. 0001-make-sure-the-executor-service-for-deliveryingAcknow.patch
          2 kB
          Matthew Washburn
        2. 796.patch
          3 kB
          Matthew Washburn

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mwashburn Matthew Washburn
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: