2012-04-11 7 views
6

Zauważam, że mogę skonfigurować moją aplikację play 2.0, aby nie używać tak wielu połączeń z bazami danych zarówno podczas ewolucji baz danych, jak i podczas wykonywania. Poprosiłem o to w grupie i na IRC bez powodzenia.Playframework 2.0 - przekroczone max_user_connections na ewolucjach bazy danych?

Używam cleardb zapalić instancji (max_user_connections = 10) z Heroku ...

Zasadniczo gdy próbuję uruchomić bazy ewolucje na mojej sztuce 2.0 aplikację uzyskać:

! @6a2mjd7kg - Internal server error, for request [GET /] -> 

play.api.db.evolutions.InvalidDatabaseRevision: Database 'default' needs evolution! [An SQL script need to be run on your database.] 
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:424) ~[play_2.9.1.jar:2.0] 
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:410) ~[play_2.9.1.jar:2.0] 
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) ~[scala-library.jar:0.11.2] 
at scala.collection.immutable.List.foreach(List.scala:45) ~[scala-library.jar:0.11.2] 
at play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:410) ~[play_2.9.1.jar:2.0] 
at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0] 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 10. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 9. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 8. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 7. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 6. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 5. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 4. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 3. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 2. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 1. Exception: null 
[error] application - 

! Internal server error, for request [GET /@evolutions/apply/default?redirect=http%3A%2F%2Flocalhost%3A9000%2F] -> 

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User '52841e548f150d' has exceeded the 'max_user_connections' resource (current value: 10) 
at sun.reflect.GeneratedConstructorAccessor26.newInstance(Unknown Source) ~[na:na] 
at  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl. java:27) ~[na:1.6.0_29] 
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) ~[na:1.6.0_29] 
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[mysql-connector-java- 5.1.18.jar:na] 
at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[mysql-connector-java-5.1.18.jar:na] 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) ~[mysql-connector-java-5.1.18.jar:na] 

Wtedy również ja często dostanie zwykłe „exceeded max_user_connections', zdarza się to bardzo często, gdy nie robi ewolucje również

mogę też dostać ten komunikat o błędzie.

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User '52841e548f150d' has exceeded the 'max_user_connections' resource (current value: 10) 
at sun.reflect.GeneratedConstructorAccessor19.newInstance(Unknown Source) ~[na:na] 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) ~[na:1.6.0_29] 
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) ~[na:1.6.0_29] 
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[mysql-connector-java-5.1.18.jar:na] 
at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[mysql-connector-java-5.1.18.jar:na] 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) ~[mysql-connector-java-5.1.18.jar:na] 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 10. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 9. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 8. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 7. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 6. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 5. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 4. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 3. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 2. Exception: null 
[error] c.j.b.h.AbstractConnectionHook - Failed to acquire connection Sleeping for 1000ms and trying again. Attempts left: 1. Exception: null 
[error] application - 

Moja application.conf wygląda tak, a ja próbowałem wiele odmian ...

db.default=mysql 
db.default.driver=com.mysql.jdbc.Driver 
db.default.url="mysql://usr:[email protected]_url.com/db_name" 
db.default.minSize=1 
db.default.maxSize=2 

Wszelkie wskazówki, suggessions, linki, byłoby bardzo pomocne w tym momencie ...

+0

Mam ten sam problem. Patrząc w to ... –

+0

Udało mi się wykonać prostą pracę aplikacji przeciwko lokalnej bazie danych mysql, ale nie udało mi się jej wykonać wbrew ClearDB. Czy możesz złożyć wniosek o wsparcie Heroku? Oto mój projekt testowy: https://github.com/jamesward/play2bars-java/tree/mysql –

Odpowiedz

6

Zaktualizowany odpowiedź.

Oto konfiguracja, która wykorzystuje tylko 5 połączeń.

db.default.partitionCount=1 
db.default.maxConnectionsPerPartition=5 
db.default.minConnectionsPerPartition=5 

# Połączenia będą partitionCount x ConnectionsPerPartition

+0

Czy możesz złożyć wniosek o wsparcie w Heroku? –

+0

@JamesWard Nie jestem już pewien, czy to już jest heroku/clearDb, ale hwo uruchamiasz serwer start vs bieg Zaktualizuję odpowiedź. – Farmor

+0

To mi pomogło. Niekonsekwentnie uzyskiwałem wyjątki połączeń podczas uruchamiania testów lokalnie przeciwko mojej bazie danych Postgres. – duma

Powiązane problemy