Wow, so rapid fix! Thank you Rob! I checked out the current upstream master and tried, then the thread leak warning went away! I'm looking forward to seeing 6.0.0 final release.
Thanks again, Tomo -- IGARASHI Tomohisa mailto:[email protected] On Thu, Jun 11, 2015 at 9:25 PM, Rob Godfrey <[email protected]> wrote: > I've raised a JIRA and made a fix against the AMQP 0-8/9/9-1/10 client > which gets rid of the ack flusher timer: > > https://issues.apache.org/jira/browse/QPID-6583 > > -- Rob > > On 11 June 2015 at 11:15, Tomohisa Igarashi <[email protected]> wrote: >> Hi Rob, >> >> Thank you for the immediate and clear response! >> >> I agree it doesn't cause a functional problem, just a cleanup issue on >> client shutdown. >> I just found qpid-jms-client and it looks like a successor of the one >> in qpid-client. Are you OK with filing a JIRA for this issue on >> QPIDJMS? >> (I also tried with qpid-jms-client 0.2.0 and same result) >> >> Thanks, >> Tomo >> >> >> -- >> IGARASHI Tomohisa mailto:[email protected] >> >> >> On Thu, Jun 11, 2015 at 4:48 PM, Rob Godfrey <[email protected]> wrote: >>> Hi Tomo, >>> >>> looking at the code (AMQSession_0_10.java), it seems that the >>> ack-flusher is created here (line 75): >>> >>> private static Timer timer = new Timer("ack-flusher", true); >>> >>> That is a single (java.util.)Timer is shared across all sessions on >>> *all* connections - the timer is not connection specific. Since it is >>> shared by all connections, it is not cancel()led when a connection is >>> close()ed. The Timer is created with isDaemon being true, so the fact >>> that the thread is never stopped wouldn't normally be an issue. >>> >>> It would need a code change on our side to change this behaviour. >>> >>> -- Rob >>> >>> On 11 June 2015 at 09:30, Tomohisa Igarashi <[email protected]> wrote: >>>> Hi, >>>> >>>> When I run Qpid Java client from exec-maven-plugin, I get this warning >>>> complaining about remaining ack-flusher thread: >>>> >>>> =================== >>>> [WARNING] thread >>>> Thread[ack-flusher,5,org.switchyard.quickstarts.camel.amqp.binding.QpidClient] >>>> was interrupted but is still alive after waiting at least 15000msecs >>>> [WARNING] thread >>>> Thread[ack-flusher,5,org.switchyard.quickstarts.camel.amqp.binding.QpidClient] >>>> will linger despite being asked to die via interruption >>>> [WARNING] NOTE: 1 thread(s) did not finish despite being asked to via >>>> interruption. This is not a problem with exec:java, it is a problem >>>> with the running code. Although not serious, it should be remedied. >>>> [WARNING] Couldn't destroy threadgroup >>>> org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=org.switchyard.quickstarts.camel.amqp.binding.QpidClient,maxpri=10] >>>> java.lang.IllegalThreadStateException >>>> =================== >>>> >>>> So ack-flusher thread is not stopped even after connection is closed. >>>> Is there a way to stop it safely? >>>> >>>> Whole client code is here: >>>> https://github.com/igarashitm/switchyard/blob/master/quickstarts/camel-amqp-binding/src/test/java/org/switchyard/quickstarts/camel/amqp/binding/QpidClient.java >>>> >>>> I tried adding connection.close() on this code with qpid-client 0.32, >>>> but I got same warning. >>>> >>>> Thanks, >>>> Tomo >>>> >>>> -- >>>> IGARASHI Tomohisa mailto:[email protected] >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
