Bug 447 : PersistenceException sometimes when using in()
Priority 
High
Reported Version 
 
Logged By 
devenv
Status 
Fixed
Fixed Version 
3.3.1
Assigned To 
 
Product 
Ebean - core
Duplicate Of 
 
Created 
21/11/2013
Updated 
21/11/2013
Type 
Bug
 
Attachments 
No attachments

Under play 2.1.1

It fixes itself after a restart and doesn't happen for some time
We have two cases when it happens, both of them have in("blabla", List)

Here are the stack traces, I removed all the corporate-company-secret-data-stuff :)


The first one:

javax.persistence.PersistenceException: Query threw SQLException:No value specified for parameter 7
Bind values:[1655, 2982, 4052, 4065, 4109, 6484]
Query was:
select t0.id c0 .... from ... t0
left outer join ... t1 on t1.id = t0....
left outer join ... t2 on t2.id = t0....
left outer join .. t3 on t3.id = t2....
left outer join ... t4 on t4.id = t3....
where t0.reference_1_id in (?,?,?,?) and t0.reference_2_id in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)

at com.avaje.ebeaninternal.server.query.CQuery.createPersistenceException(CQuery.java:815) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.CQuery.createPersistenceException(CQuery.java:795) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.CQueryEngine.findMany(CQueryEngine.java:210) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.DefaultOrmQueryEngine.findMany(DefaultOrmQueryEngine.java:77) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.OrmQueryRequest.findList(OrmQueryRequest.java:272) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.DefaultServer.findList(DefaultServer.java:1502) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findList(DefaultOrmQuery.java:904) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.util.DefaultExpressionList.findList(DefaultExpressionList.java:177) ~[avaje-ebeanorm-server.jar:na]
........
Caused by: java.sql.SQLException: No value specified for parameter 7
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2578) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2554) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2480) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2234) ~[mysql-connector-java-5.1.18.jar:na]
at com.jolbox.bonecp.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:172) ~[bonecp.jar:0.7.1.RELEASE]
at com.avaje.ebeaninternal.server.query.CQuery.prepareBindExecuteQuery(CQuery.java:382) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.CQueryEngine.findMany(CQueryEngine.java:174) ~[avaje-ebeanorm-server.jar:na]
... 30 common frames omitted


The second one:
play.api.Application$$anon$1: Execution exception[[PersistenceException: Error with property[10] dt[-5]data[5190][java.lang.Long]]]
at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10-2.1.2.jar:2.1.2]
at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10-2.1.2.jar:2.1.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$play$core$server$netty$PlayDefaultUpstreamHandler$$handle$1$1.apply(PlayDefaultUpstreamHandler.scala:143) [play_2.10-2.1.2.jar:2.1.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$play$core$server$netty$PlayDefaultUpstreamHandler$$handle$1$1.apply(PlayDefaultUpstreamHandler.scala:139) [play_2.10-2.1.2.jar:2.1.2]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10-2.1.2.jar:2.1.2]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10-2.1.2.jar:2.1.2]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend$1$$anonfun$apply$1.apply(Promise.scala:104) [play_2.10-2.1.2.jar:2.1.2]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_21]
at java.lang.Thread.run(Thread.java:722) [na:1.7.0_21]
javax.persistence.PersistenceException: Error with property[10] dt[-5]data[5190][java.lang.Long]
at com.avaje.ebeaninternal.server.persist.Binder.bindSimpleData(Binder.java:326) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.persist.Binder.bindObject(Binder.java:215) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.persist.Binder.bindObject(Binder.java:172) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.CQueryPredicates.bind(CQueryPredicates.java:152) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.CQuery.prepareBindExecuteQuery(CQuery.java:379) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.CQueryEngine.findMany(CQueryEngine.java:174) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.query.DefaultOrmQueryEngine.findMany(DefaultOrmQueryEngine.java:77) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.OrmQueryRequest.findList(OrmQueryRequest.java:272) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.DefaultServer.findList(DefaultServer.java:1502) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findList(DefaultOrmQuery.java:904) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.util.DefaultExpressionList.findList(DefaultExpressionList.java:177) ~[avaje-ebeanorm-server.jar:na]
.....
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$12$$anonfun$apply$12.apply(routes_routing.scala:481) ~[mobit_2.10-1.0-SNAPSHOT.jar:na]
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$12$$anonfun$apply$12.apply(routes_routing.scala:481) ~[mobit_2.10-1.0-SNAPSHOT.jar:na]
at play.core.Router$HandlerInvoker$$anon$6$$anon$2.invocation(Router.scala:175) ~[play_2.10-2.1.2.jar:2.1.2]
at play.core.Router$Routes$$anon$1.invocation(Router.scala:355) ~[play_2.10-2.1.2.jar:2.1.2]
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:50) ~[play_2.10-2.1.2.jar:2.1.2]
at cn.bran.play.GlobalSettingsWithJapid$2.call(GlobalSettingsWithJapid.java:127) ~[japid42_2.10-0.9.6.jar:0.9.6]
.....
at play.mvc.Security$AuthenticatedAction.call(Security.java:39) ~[play_2.10-2.1.2.jar:2.1.2]
at play.core.j.JavaAction$$anon$2.apply(JavaAction.scala:80) ~[play_2.10-2.1.2.jar:2.1.2]
at play.core.j.JavaAction$$anon$2.apply(JavaAction.scala:79) ~[play_2.10-2.1.2.jar:2.1.2]
at play.libs.F$Promise$PromiseActor.onReceive(F.java:425) ~[play_2.10-2.1.2.jar:2.1.2]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:159) ~[akka-actor_2.10.jar:na]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425) ~[akka-actor_2.10.jar:na]
at akka.actor.ActorCell.invoke(ActorCell.scala:386) ~[akka-actor_2.10.jar:na]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230) ~[akka-actor_2.10.jar:na]
at akka.dispatch.Mailbox.run(Mailbox.scala:212) ~[akka-actor_2.10.jar:na]
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:502) ~[akka-actor_2.10.jar:na]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262) ~[scala-library.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975) ~[scala-library.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478) ~[scala-library.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) ~[scala-library.jar:na]
Caused by: java.sql.SQLException: Parameter index out of range (10 > number of parameters, which is 9).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3729) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3713) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3755) ~[mysql-connector-java-5.1.18.jar:na]
at com.mysql.jdbc.PreparedStatement.setLong(PreparedStatement.java:3771) ~[mysql-connector-java-5.1.18.jar:na]
at com.jolbox.bonecp.PreparedStatementHandle.setLong(PreparedStatementHandle.java:864) ~[bonecp.jar:0.7.1.RELEASE]
at com.avaje.ebeaninternal.server.type.DataBind.setLong(DataBind.java:71) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.persist.Binder.bindSimpleData(Binder.java:258) ~[avaje-ebeanorm-server.jar:na]
... 33 common frames omitted

 
woResponse

Upload a file