Comment 49 for bug 1243551

Revision history for this message
Alex Turner (armtuk) wrote :

Can confirm that we're seeing this on PostgreSQL 9.2.7 with BoneCP 0.8.0.RELEASE on Play 2.2.3 Scala 2.10.

2014-07-02 09:11:17,764 [^[[37minfo^[[0m] [play-akka.actor.default-dispatcher-5] - *** ERROR *** Failed with un-trapped internal exception (p1) org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:714)org.postgresql.jdbc2.AbstractJdbc2Connection.setAutoCommit(AbstractJdbc2Connection.java:661)
com.jolbox.bonecp.ConnectionHandle.setAutoCommit(ConnectionHandle.java:1292)play.api.db.BoneCPApi$$anon$1.onCheckOut(DB.scala:329)com.jolbox.bonecp.AbstractConnectionStrategy.postConnection(AbstractConnectionStrategy.java:75)
com.jolbox.bonecp.AbstractConnectionStrategy.getConnection(AbstractConnectionStrategy.java:92)com.jolbox.bonecp.BoneCP.getConnection(BoneCP.java:553)com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:131)scala.slick.jdbc.PlayDatabase.createConnection(PlayDatabase.scala:8)
scala.slick.jdbc.JdbcBackend$BaseSession.conn$lzycompute(JdbcBackend.scala:302)
scala.slick.jdbc.JdbcBackend$BaseSession.conn(JdbcBackend.scala:302)scala.slick.jdbc.JdbcBackend$SessionDef$class.prepareStatement(JdbcBackend.scala:123)scala.slick.jdbc.JdbcBackend$BaseSession.prepareStatement(JdbcBackend.scala:297)scala.slick.jdbc.StatementInvoker.results(StatementInvoker.scala:28)
scala.slick.jdbc.StatementInvoker.iteratorTo(StatementInvoker.scala:16)
scala.slick.jdbc.Invoker$class.foreach(Invoker.scala:97)
scala.slick.jdbc.StatementInvoker.foreach(StatementInvoker.scala:9)
scala.slick.jdbc.Invoker$class.firstOption(Invoker.scala:44)
scala.slick.jdbc.StatementInvoker.firstOption(StatementInvoker.scala:9)
scala.slick.jdbc.UnitInvoker$class.firstOption(Invoker.scala:155)
scala.slick.driver.JdbcInvokerComponent$UnitQueryInvoker.firstOption(JdbcInvokerComponent.scala:50)
services.sql.NpUserSlickDAOService$$anonfun$findById$1.apply(NpUserSlickDAOService.scala:22)
services.sql.NpUserSlickDAOService$$anonfun$findById$1.apply(NpUserSlickDAOService.scala:22)
services.sql.EnvironmentDrivenPlaySlickSessionService$$anonfun$withSession$2.apply(DBSessionService.scala:47)
services.sql.EnvironmentDrivenPlaySlickSessionService$$anonfun$withSession$2.apply(DBSessionService.scala:45)
scala.slick.backend.DatabaseComponent$DatabaseDef$class.withSession(DatabaseComponent.scala:31)
scala.slick.jdbc.PlayDatabase.withSession(PlayDatabase.scala:6)
... (more internal stuff)

We're currently just using the default BoneCP configuration, and see this about 2-4 times daily on each of our Play servers. Traffic is low, only about 1000 requests per day for database driven requests at least. Looking at graphs across monitoring, there doesn't seem to be any correlation in terms of a load spike or a network event or a system event like log rotation etc.

Looking at the monitoring, this event is positively correlated with a GC event. Of three events we saw today, all three occurred at the same time as GC.