2012-04-11 4 views
6

私は、私のプレイ2.0アプリケーションが、データベースの進化とランタイム中に非常に多くのデータベース接続を使用しないように設定する方法について、何らかの洞察を得ています。私はこのグループとIRCに運がないことを尋ねました。playframework 2.0 - データベースの進化でmax_user_connectionsを超えましたか?

私は私が手に私のプレイ2.0のアプリ上でのデータベースの進化を実行しようとするとcleardbは、基本的には... Herokuので(MAX_USER_CONNECTIONS = 10)

をインスタンスを発火させる使用しています:

! @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] 

私もその後、また、進化をしていないとき、多くの場合、通常の「超過MAX_USER_CONNECTIONS'を取得します、これは非常に頻繁に起こる

また、私はこのエラーメッセージを取得できます。

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 - 

マイapplication.confはこのようになります、と私は多くのバリエーションを試してみました...

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 

どれガイダンスは、suggessionsは、リンクが、この時点で非常に役立つだろう...

+0

になります。それを見て... –

+0

ローカルのmysqlデータベースに対して簡単なアプリケーションを作れましたが、ClearDBに対して働かせることができませんでした。 Herokuのサポートリクエストを提出できますか?ここに私のテストプロジェクトです: https://github.com/jamesward/play2bars-java/tree/mysql –

答えて

6

更新しました回答。

ここでは、5つの接続のみを使用する構成を示します。

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

#の接続は、私は同じ問題を抱えているpartitionCount x ConnectionsPerPartition

+0

Herokuでサポートリクエストを提出できますか? –

+0

@ JamesWardもう私はそれがheroku/clearDbだとはっきりしませんが、サーバーの起動と実行を開始すると、私は自分の答えを更新します。 – Farmor

+0

これは私を助けました。 Postgresデータベースに対してローカルでテストを実行すると、接続の例外が矛盾していました。 – duma

関連する問題