That particular chunk of the old underlying PB client is ugly and needs to die in a fire, but it shouldn't be possible for it to cause Tomcat to get stuck.
That Timer is set to be a daemon therefore it can't prevent the JVM from exiting. On top of that the only time it has a task scheduled is during a streaming operation. I suspect you're just seeing that thread still there because another thread is the problem, and since it's a daemon it's going to be around until ... the JVM isn't. - Roach On Tue, Nov 5, 2013 at 7:05 AM, Guido Medina <[email protected]> wrote: > You may be right, we are still investigating other 2 threads, was worth to > add this one to the list just in case, daemon threads by contract should go > down with no issues when JDK is going down. > > Guido. > > > On 05/11/13 13:59, Konstantin Kalin wrote: > > Strange. If you call shutdown of Riak client it shouldn't stop Tomcat > shutdown anymore. This is that I learn from source code. I called the method > in Servlet listener and never had issues after that. Before I had similar > behavior like you have. > > Thank you, > Konstantin. > > On Nov 5, 2013 5:31 AM, "Guido Medina" <[email protected]> wrote: >> >> That's done already, I'm looking at the source now, not sure of the >> following timer needs to be cancelled when Riak client shutdown method is >> called: >> >> >> public abstract class RiakStreamClient<T> implements Iterable<T> { >> >> static Timer TIMER = new Timer("riak-stream-timeout-thread", true); >> ... >> ... >> } >> >> Guido. >> >> On 05/11/13 13:29, Konstantin Kalin wrote: >> >> You need to call shutdown method of Riak client when you are stopping your >> application. >> >> Thank you, >> Konstantin. >> >> On Nov 5, 2013, at 5:06, Guido Medina <[email protected]> wrote: >> >> Sorry, I meant "stopping Tomcat from shutting down properly"...I must have >> been thinking of some FPS night game. >> >> On 05/11/13 13:04, Guido Medina wrote: >> >> Hi, >> >> We are tracing some threads at our webapp which are stopping Tomcat from >> shooting down properly, one of them seems to be related with Riak Java >> client, here is the repeating stack trace once all services have been >> stopped properly: >> >> Thread Name: riak-stream-timeout-thread >> State: in Object.wait() >> Java Stack trace: >> at java.lang.Object.wait(Native Method) >> - waiting on [0x00000004bb4001a0] (a java.util.TaskQueue) >> at java.lang.Object.wait(Object.java:503) >> at java.util.TimerThread.mainLoop(Timer.java:526) >> - locked [0x00000004bb4001a0] (a java.util.TaskQueue) >> at java.util.TimerThread.run(Timer.java:505) >> >> >> Thanks for the help, >> >> Guido. >> >> >> _______________________________________________ >> riak-users mailing list >> [email protected] >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >> >> > > > _______________________________________________ > riak-users mailing list > [email protected] > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com > _______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
