Hi there,
I have being using Lift 3.0-RC4 in production. Having problems with database connection leaks, that leads to application unresponsiveness. Currently application is automatically restarted to fix the problem.
Now trying to figure out how situation could be improved, and was wondering if anyone in here have phased similar problems or otherwise know how this kind of situation could be improved?
Problem arises when there are more users in the service.
- Application uses Lift Mapper with HikariCP
- Application uses comets, and can have also "idle" connections where users have browser tab open, but not actively using the application.
- Application is deployed under Jetty 9.3.12.v20160915
Before application becomes unresponsive there is lots of connection leak warnings logged by HikariCP. Currently HikariCP is configured to have max 100 connections. I have read from HikariCP documentation that recommended size should be way smaller like 10, but then the application becomes unresponsive faster. Only way that been so far handling the situation has been to increase maximum number of database connections.
Application configures HikariCP with connection leak detection that logs following stack trace. There is not much hints for me, since stack trace doesn't include code from the application other than creating a new database connection, code.config.HikariDBVendor.newConnection.
Sorry for pasting a long stack trace in here.
18:38:49.137 [HikariPool-1 housekeeper] WARN com.zaxxer.hikari.pool.ProxyLeakTask - Connection leak detection triggered for org.postgresql.jdbc.PgConnection@28ca959b, stack trace follows
java.lang.Exception: Apparent connection leak detected
at code.config.HikariDBVendor.newConnection(MapperConfig.scala:176) ~[classes/:na]
at net.liftweb.db.DB$$anonfun$cmSuperConnection$1$1.apply(DB.scala:162) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anonfun$cmSuperConnection$1$1.apply(DB.scala:162) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.common.EmptyBox.or(Box.scala:864) ~[lift-common_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$class.cmSuperConnection$1(DB.scala:162) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anonfun$9.apply(DB.scala:173) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anonfun$9.apply(DB.scala:172) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.common.Full.flatMap(Box.scala:808) ~[lift-common_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$class.newConnection(DB.scala:172) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$class.getConnection(DB.scala:286) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$class.use(DB.scala:680) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anon$1.use(DB.scala:40) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anon$2$$anonfun$apply$
15.net$liftweb$db$DB$class$$anon$$anonfun$$recurseMe$1(DB.scala:251) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anon$2$$anonfun$apply$15.apply(DB.scala:253) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.DynoVar$class.run(ThreadGlobal.scala:95) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anon$2$DepthCnt$.run(DB.scala:224) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.db.DB$$anon$2.apply(DB.scala:227) ~[lift-db_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$
class.net$liftweb$http$S$$doAround(S.scala:1492) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1.apply(S.scala:1716) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$
class.net$liftweb$http$S$$_nest2InnerInit(S.scala:1715) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$44$$anonfun$apply$45$$anonfun$apply$46$$anonfun$apply$47.apply(S.scala:1762) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$withReq$2.apply(S.scala:1772) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$class.withReq(S.scala:1771) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$.withReq(S.scala:47) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$44$$anonfun$apply$45$$anonfun$apply$46.apply(S.scala:1757) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$44$$anonfun$apply$45.apply(S.scala:1755) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$44.apply(S.scala:1754) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply(S.scala:1753) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$
class.net$liftweb$http$S$$_innerInit(S.scala:1752) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$2$$anonfun$apply$52$$anonfun$apply$53$$anonfun$apply$54$$anonfun$apply$55$$anonfun$apply$56.apply(S.scala:1795) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$2$$anonfun$apply$52$$anonfun$apply$53$$anonfun$apply$54$$anonfun$apply$55.apply(S.scala:1793) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:605) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:507) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$2$$anonfun$apply$52$$anonfun$apply$53$$anonfun$apply$54.apply(S.scala:1792) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:605) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:520) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$2$$anonfun$apply$52$$anonfun$apply$53.apply(S.scala:1791) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$2$$anonfun$apply$52.apply(S.scala:1790) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$2.apply(S.scala:1789) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$
class.net$liftweb$http$S$$_init(S.scala:1788) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$class.init(S.scala:1376) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.S$.init(S.scala:47) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet$StatefulResponse$.doSession$1(LiftServlet.scala:384) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet$StatefulResponse$.process(LiftServlet.scala:394) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet.stepThroughPipeline$1(LiftServlet.scala:428) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet.doService(LiftServlet.scala:436) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet$$anonfun$doIt$1$2.apply(LiftServlet.scala:157) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet$$anonfun$doIt$1$2.apply(LiftServlet.scala:156) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:427) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.Helpers$.calcTime(Helpers.scala:34) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:446) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.Helpers$.logTime(Helpers.scala:34) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:156) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftServlet.service(LiftServlet.scala:167) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply$mcV$sp(HTTPProvider.scala:72) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(HTTPProvider.scala:71) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(HTTPProvider.scala:71) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.URLRewriter$.doWith(Req.scala:1344) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1.apply$mcV$sp(HTTPProvider.scala:70) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1.apply(HTTPProvider.scala:70) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2$$anonfun$apply$mcV$sp$1.apply(HTTPProvider.scala:70) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply$mcV$sp(HTTPProvider.scala:66) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply(HTTPProvider.scala:60) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply(HTTPProvider.scala:60) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.HTTPProvider$class.service(HTTPProvider.scala:60) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftFilter.service(LiftServlet.scala:1064) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply$mcV$sp(ServletFilterProvider.scala:82) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ServletFilterProvider.scala:82) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ServletFilterProvider.scala:82) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$class.handleLoan$1(ServletFilterProvider.scala:59) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$
class.net$liftweb$http$provider$servlet$ServletFilterProvider$$handleLoanWrappers(ServletFilterProvider.scala:63) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ServletFilterProvider.scala:82) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:77) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:77) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(Vars.scala:611) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18.apply(Vars.scala:610) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17.apply(Vars.scala:609) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16.apply(Vars.scala:608) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:607) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:507) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply$mcV$sp(ServletFilterProvider.scala:75) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:75) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:75) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(Vars.scala:611) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17$$anonfun$apply$18.apply(Vars.scala:610) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16$$anonfun$apply$17.apply(Vars.scala:609) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$16.apply(Vars.scala:608) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) ~[lift-util_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:607) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:520) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.provider.servlet.ServletFilterProvider$class.doFilter(ServletFilterProvider.scala:74) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:1064) ~[lift-webkit_2.11-3.0-RC4.jar:3.0-RC4]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) ~[jetty-servlet-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) ~[jetty-servlet-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[jetty-security-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) ~[jetty-servlet-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.Server.handle(Server.java:523) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) ~[jetty-server-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) ~[jetty-io-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) ~[jetty-io-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[jetty-io-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[jetty-util-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[jetty-util-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[jetty-util-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[jetty-util-9.3.12.v20160915.jar:9.3.12.v20160915]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[jetty-util-9.3.12.v20160915.jar:9.3.12.v20160915]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]