Hola todos!
Les escribo a ver si alguien puede darme alguna pista sobre un error
que está apareciendo desde hace como 1 semana, 1 o 2 veces al día..
Es una aplicación realizada con play 2.0.4 hace ya unos años (2012)
que siempre funcionó a la perfección y sin dramas.
Se conecta a mysql donde se encuentran determinados datos propios de
esa aplicación y a ADS (advantage database server) ya que los
sistemas de gestión de la empresa usan esa base de datos. De ahí
saca datos de los clientes, etc y donde se graban las ventas.
En junio se cambió de servidor, de un 2008 server a un 2012 server.
Hay un especialista experto en servidores que se encargó de su
instalación y configuración. Hemos tenido algunos dramas con la
migración pero se ha ido solucionando.
El tema es que como les dije, desde hace algunos días hay problemas.
La aplicación va grabando un log en forma diaria, y el error que se
obtiene es el que pego abajo.
Fue desarrollada por unos terceros pero ahora no tienen tiempo de
mantenerla porque se han dedicado exclusivamente a determinados
clientes.
Ellos instalaron la misma en un Linux CentOS y copiaron 2 instancias
para balancear.
o sea, todos los .jar de la aplicación están en:
/usr/acol/inst1
/usr/acol/ins2
y la aplicación la levantamos:
service acol1 start
service acol2 start
acol1 y acol2 son 2 scripts para levantar/parar la misma.
Por lo que dice el error, es que no hay conexiones libres
disponibles... pero de qué?
los sistemas de gestión de la empresa no tienen problemas en el
aceso a la base de datos.. y hay usuarios disponibles (de un total
de una licencia de 25 usuarios se están usando 16, y hay
configuradas muchas conexiones.. nunca se ha llegado al límite.
Se agradece CUALQUIER pista que se les ocurra!!
Por ahora, si paramos la aplicación y la levantamos nuevamente a
mano, queda funcionando.
será algo en la configuración del servidor nuevo??
El linux CentOS ni se ha tocado, lo mismo que la aplicación. Si
precisan más datos, pregunten nomás.
Mil gracias
Saludos!
----------------------
2015-08-04 16:55:23,607 - [ERROR] - from application in
play-akka.actor.actions-dispatcher-7
! @6n38511nd - Internal server error, for request [POST
/bandeja/listPendingIds] ->
play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution
exception [[PersistenceException: java.sql.SQLException: Timed out
waiting for a free available connection.]]
at
play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134)
[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at
play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115)
[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at akka.actor.Actor$class.apply(Actor.scala:318)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at play.core.ActionInvoker.apply(Invoker.scala:113)
[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at akka.actor.ActorCell.invoke(ActorCell.scala:626)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.dispatch.Mailbox.run(Mailbox.scala:179)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at
akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:516)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at
akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at
akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
[com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
Caused by: javax.persistence.PersistenceException:
java.sql.SQLException: Timed out waiting for a free available
connection.
at
com.avaje.ebeaninternal.server.transaction.TransactionManager.createQueryTransaction(TransactionManager.java:356)
~[org.avaje.ebean-ebean-2.7.3.jar:na]
at
com.avaje.ebeaninternal.server.core.DefaultServer.createQueryTransaction(DefaultServer.java:2021)
~[org.avaje.ebean-ebean-2.7.3.jar:na]
at
com.avaje.ebeaninternal.server.core.OrmQueryRequest.initTransIfRequired(OrmQueryRequest.java:241)
~[org.avaje.ebean-ebean-2.7.3.jar:na]
at
com.avaje.ebeaninternal.server.core.DefaultServer.findList(DefaultServer.java:1468)
~[org.avaje.ebean-ebean-2.7.3.jar:na]
at
com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findList(DefaultOrmQuery.java:906)
~[org.avaje.ebean-ebean-2.7.3.jar:na]
at
com.avaje.ebeaninternal.util.DefaultExpressionList.findList(DefaultExpressionList.java:201)
~[org.avaje.ebean-ebean-2.7.3.jar:na]
at models.Credito.findAllIdsPending(Credito.java:188)
~[acol_2.9.1-2.0.10.jar:2.0.10]
at controllers.Bandeja.listPendingIds(Bandeja.java:73)
~[acol_2.9.1-2.0.10.jar:2.0.10]
at
Routes$$anonfun$routes$1$$anonfun$apply$65$$anonfun$apply$66.apply(routes_routing.scala:508)
~[acol_2.9.1-2.0.10.jar:na]
at
Routes$$anonfun$routes$1$$anonfun$apply$65$$anonfun$apply$66.apply(routes_routing.scala:508)
~[acol_2.9.1-2.0.10.jar:na]
at
play.core.Router$HandlerInvoker$$anon$5$$anon$1.invocation(Router.scala:1090)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:33)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at play.GlobalSettings$1.call(GlobalSettings.java:57)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at
controllers.BeforeAfterActions.call(BeforeAfterActions.java:36)
~[acol_2.9.1-2.0.10.jar:2.0.10]
at play.mvc.Security$AuthenticatedAction.call(Security.java:39)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at play.core.j.JavaAction$class.apply(JavaAction.scala:74)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at
play.core.Router$HandlerInvoker$$anon$5$$anon$1.apply(Router.scala:1089)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at
play.core.ActionInvoker$$anonfun$receive$1$$anonfun$6.apply(Invoker.scala:126)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at
play.core.ActionInvoker$$anonfun$receive$1$$anonfun$6.apply(Invoker.scala:126)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at play.utils.Threads$.withContextClassLoader(Threads.scala:17)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at
play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:125)
[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
... 11 common frames omitted
Caused by: java.sql.SQLException: Timed out waiting for a free
available connection.
at com.jolbox.bonecp.BoneCP.getConnection(BoneCP.java:503)
~[com.jolbox.bonecp-bonecp-0.7.1.RELEASE.jar:0.7.1.RELEASE]
at
com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:114)
~[com.jolbox.bonecp-bonecp-0.7.1.RELEASE.jar:0.7.1.RELEASE]
at
play.db.ebean.EbeanPlugin$WrappingDatasource.getConnection(EbeanPlugin.java:146)
~[play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at
com.avaje.ebeaninternal.server.transaction.TransactionManager.createQueryTransaction(TransactionManager.java:339)
~[org.avaje.ebean-ebean-2.7.3.jar:na]
... 31 common frames omitted