1

最近、Heroku の Bamboo スタックから Cedar スタック (Rails 3.1.4、Ruby 1.9.2、Web サーバー用の Thin gem) に切り替えました。それ以来、クエリが正しく動作していないように見える、次のような 500 件のエラーが発生し続けています。

207 <13>1 2012-05-06T16:10:51+00:00 d. app web.1 - - ActiveRecord::StatementInvalid (Mysql::Error: : SELECT  `foos`.* FROM `foos`  WHERE `foos`.`id` = ? LIMIT 1)

ただし、ページを更新すると最終的にページが正常にレンダリングされるため (つまり、ステータス 200)、コードのエラーではありません。1 回の更新の場合もありますが、200 を取得する前に最大 4 回の更新を取得できます。

ClearDBの無料プランだったのでデータベースのせいだと思っていたのですが、I/O性能の良いClearDBの次のプランにアップグレードしたところ、やはり発生します

  1. これは、Bamboo を使用していたときには決して起こりませんでした
  2. DBでクエリを実行するほぼすべてのページで発生します
  3. 常に発生するとは限りませんが、少なくとも 5 分の 1 のページ ビューで発生すると思います
  4. モデル/クエリは関係ありません。同じエラーが発生します (上記の例とは異なるモデル/フィールドを示しているだけです)。
4

1 に答える 1

0

コンソールを使用している場合、同じエラーが発生しますheroku run consoleか?私はこれを前に見たことがありません。Mysqlgemをアップグレードしてみてください。どちらを使用していますかhttp://api.rubyonrails.org/classes/ActiveRecord/StatementInvalid.html正しいものはmysql2https://rubygems.org/gems/mysql2だと思います

于 2012-05-09T18:29:07.437 に答える