Re: [jetty-users] [Jetty 8] Deadlock in JDBCSessionManager
Thanks! Great! 2014/1/13 Jan Bartel j...@intalio.com Stefan, As part of some changes for the mongo session manager, the sync block was removed from JDBCSessionManager.invalidateSession(String) in jetty-9: https://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/diff/jetty-server/src/main/java/org/eclipse/jetty/server/session/JDBCSessionManager.java?id=092c53b335c6ca8aa49a20698faf008d0469dbf4 cheers Jan On 14 January 2014 00:03, Stefan Magnus Landrø stefan.lan...@gmail.com wrote: Hi there, We're currently experiencing a deadlock in the JDBCSessionManager in latest jetty 8. There lots of synchronization code, which in addition to cause this deadlock, also performs really slow, since there are lots of synchronized blocks around jdbc calls. Has this been fixed in jetty 9? Anyone else seen this? Stefan -- Found one Java-level deadlock: = qtp235217511-3361: waiting to lock monitor 0x0992e268 (object 0xc4f29a38, a org.eclipse.jetty.server.session.JDBCSessionManager), which is held by qtp235217511-136 qtp235217511-136: waiting to lock monitor 0x09e027e8 (object 0xc4e3aaa8, a java.util.HashSet), which is held by qtp235217511-128 qtp235217511-128: waiting to lock monitor 0x0992e268 (object 0xc4f29a38, a org.eclipse.jetty.server.session.JDBCSessionManager), which is held by qtp235217511-136 Java stack information for the threads listed above: === qtp235217511-3361: at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:459) - waiting to lock 0xc4f29a38 (a no.posten.dpost.jetty.config.DpostJDBCSessionManager) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:75) at org.eclipse.jetty.server.session.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:312) at org.eclipse.jetty.server.session.SessionHandler.checkRequestedSessionId(SessionHandler.java:279) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:159) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:744) qtp235217511-136: at org.eclipse.jetty.server.session.JDBCSessionIdManager.removeSession(JDBCSessionIdManager.java:409) - waiting to lock 0xc4e3aaa8 (a java.util.HashSet) at org.eclipse.jetty.server.session.JDBCSessionManager.loadSession(JDBCSessionManager.java:870) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:482) - locked 0xc4f29a38 (a no.posten.dpost.jetty.config.DpostJDBCSessionManager) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:75) at org.eclipse.jetty.server.session.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:312) at org.eclipse.jetty.server.session.SessionHandler.checkRequestedSessionId(SessionHandler.java:279) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:159) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at
[jetty-users] [Jetty 8] Deadlock in JDBCSessionManager
Hi there, We're currently experiencing a deadlock in the JDBCSessionManager in latest jetty 8. There lots of synchronization code, which in addition to cause this deadlock, also performs really slow, since there are lots of synchronized blocks around jdbc calls. Has this been fixed in jetty 9? Anyone else seen this? Stefan -- Found one Java-level deadlock: = qtp235217511-3361: waiting to lock monitor 0x0992e268 (object 0xc4f29a38, a org.eclipse.jetty.server.session.JDBCSessionManager), which is held by qtp235217511-136 qtp235217511-136: waiting to lock monitor 0x09e027e8 (object 0xc4e3aaa8, a java.util.HashSet), which is held by qtp235217511-128 qtp235217511-128: waiting to lock monitor 0x0992e268 (object 0xc4f29a38, a org.eclipse.jetty.server.session.JDBCSessionManager), which is held by qtp235217511-136 Java stack information for the threads listed above: === qtp235217511-3361: at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:459) - waiting to lock 0xc4f29a38 (a no.posten.dpost.jetty.config.DpostJDBCSessionManager) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:75) at org.eclipse.jetty.server.session.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:312) at org.eclipse.jetty.server.session.SessionHandler.checkRequestedSessionId(SessionHandler.java:279) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:159) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:744) qtp235217511-136: at org.eclipse.jetty.server.session.JDBCSessionIdManager.removeSession(JDBCSessionIdManager.java:409) - waiting to lock 0xc4e3aaa8 (a java.util.HashSet) at org.eclipse.jetty.server.session.JDBCSessionManager.loadSession(JDBCSessionManager.java:870) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:482) - locked 0xc4f29a38 (a no.posten.dpost.jetty.config.DpostJDBCSessionManager) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:75) at org.eclipse.jetty.server.session.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:312) at org.eclipse.jetty.server.session.SessionHandler.checkRequestedSessionId(SessionHandler.java:279) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:159) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at
Re: [jetty-users] [Jetty 8] Deadlock in JDBCSessionManager
Stefan, As part of some changes for the mongo session manager, the sync block was removed from JDBCSessionManager.invalidateSession(String) in jetty-9: https://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/diff/jetty-server/src/main/java/org/eclipse/jetty/server/session/JDBCSessionManager.java?id=092c53b335c6ca8aa49a20698faf008d0469dbf4 cheers Jan On 14 January 2014 00:03, Stefan Magnus Landrø stefan.lan...@gmail.com wrote: Hi there, We're currently experiencing a deadlock in the JDBCSessionManager in latest jetty 8. There lots of synchronization code, which in addition to cause this deadlock, also performs really slow, since there are lots of synchronized blocks around jdbc calls. Has this been fixed in jetty 9? Anyone else seen this? Stefan -- Found one Java-level deadlock: = qtp235217511-3361: waiting to lock monitor 0x0992e268 (object 0xc4f29a38, a org.eclipse.jetty.server.session.JDBCSessionManager), which is held by qtp235217511-136 qtp235217511-136: waiting to lock monitor 0x09e027e8 (object 0xc4e3aaa8, a java.util.HashSet), which is held by qtp235217511-128 qtp235217511-128: waiting to lock monitor 0x0992e268 (object 0xc4f29a38, a org.eclipse.jetty.server.session.JDBCSessionManager), which is held by qtp235217511-136 Java stack information for the threads listed above: === qtp235217511-3361: at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:459) - waiting to lock 0xc4f29a38 (a no.posten.dpost.jetty.config.DpostJDBCSessionManager) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:75) at org.eclipse.jetty.server.session.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:312) at org.eclipse.jetty.server.session.SessionHandler.checkRequestedSessionId(SessionHandler.java:279) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:159) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:744) qtp235217511-136: at org.eclipse.jetty.server.session.JDBCSessionIdManager.removeSession(JDBCSessionIdManager.java:409) - waiting to lock 0xc4e3aaa8 (a java.util.HashSet) at org.eclipse.jetty.server.session.JDBCSessionManager.loadSession(JDBCSessionManager.java:870) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:482) - locked 0xc4f29a38 (a no.posten.dpost.jetty.config.DpostJDBCSessionManager) at org.eclipse.jetty.server.session.JDBCSessionManager.getSession(JDBCSessionManager.java:75) at org.eclipse.jetty.server.session.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:312) at org.eclipse.jetty.server.session.SessionHandler.checkRequestedSessionId(SessionHandler.java:279) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:159) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at