Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

サーバーが混雑しています。しばらく待ってからやり直してください。 #177

Open
shiomi326 opened this issue Nov 28, 2016 · 18 comments

Comments

@shiomi326
Copy link

こんにちは。
herokuにインストールしたjiji2がAplication errorで開くことができません。
(2周間ほど前は問題なくopen appで起動できました)
また、新しくデプロイしてみたのですが
「サーバーが混雑しています。しばらく待ってからやり直してください。」
というメッセージが出てきてチャートの更新等が行われません。
考えられる原因をご教授していただけないでしょうか?
(OANDAの問題でしょうか?)
APIはOANDAのデモアカウントのもの使用しています。
よろしくお願いします。

@unageanu
Copy link
Owner

エラー画面はどのようなものでしょうか?

  • Jijiの起動ができず、Herokuのエラー画面になっている
  • Jijiの起動はできているが、Jiji側でエラーになっている

のどちらか判断できれば、それぞれのログから詳細を追えるかと思います。

@shiomi326
Copy link
Author

早速の返信ありがとうございます。
状況としてはJijiの起動はできていますが、添付画像のようにJiji側でエラーメッセージが出ます。
よろしくお願いします。

jiji_error

@unageanu
Copy link
Owner

ありがとうございます。
Jijiの起動はできているみたいですね・・。
Jijiの「リアルトレード- ログ画面」(左のメニューから開けます)にはなにかエラーがでていないでしょうか?

@shiomi326
Copy link
Author

ログ画面確認しました。
以下のエラーが出ていました。
ERROR -- : incorrect header check (Zlib::DataError)
画像を添付します。
jiji_log

@unageanu
Copy link
Owner

このエラーは初めて見ました。
OANDAとの通信でレスポンスの解析に失敗しているようです。
今までは特に問題なく利用できていたので、OANDAの仕様が変わったか何かだと思うのですが・・・。
原因は引き続き調査します。

なお、リアル口座のAPIは問題なく動作しているようです。

@unageanu
Copy link
Owner

unageanu commented Nov 29, 2016

とりあえず、OANDAのサポートに問い合わせています。
現在回答待ち中です。

呼び出し元の設定で回避できないか、時間があるときにこちらでも調査してみます。

@shiomi326
Copy link
Author

ありがとうございます。
よろしくお願い致します。

@norimaki8
Copy link

横から失礼します。
私もshiomi326さんと同じ現象が出ていて、ネットを検索してこちらに辿りつきました。

エラー内容を検索していたところ、
https://bugs.ruby-lang.org/issues/11268
こちらで同じようなzlibのエラーについてのやりとりが行われていたようです。

deflateされたデータの展開について、ruby側に一部問題があったようでこのやりとりの結論部分ではパッチがアップされているようでした。
同じ問題の可能性があるのではないかと思いますが、いかがでしょうか。

rubyのバージョンを上げてみるか、または上記やりとり中にあった

require "open-uri"
open('https://www.hoge.com', "Accept-Encoding" => "plain") do |f| puts f.read end

で解決できないかと思っていますが、試してみていただけませんでしょうか。

的外れだったらごめんなさい。
よろしくお願いします。

@unageanu
Copy link
Owner

norimaki8 さん
情報ありがとうございます!
試してみます。

@unageanu
Copy link
Owner

取り急ぎ、rubyのバージョンを
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
に上げて試してみましたが、残念ながらまだエラーになりますね・・・。うーん。

"Accept-Encoding" => "plain"
の方も試してみます。

@norimaki8
Copy link

アップされていたパッチの中身を眺めてみたところ、
net/http
以下のファイルに修正が入っているようでした。
Net::HTTPライブラリのほうをアップデートする必要がありそうですね・・
rubyのアップデートは的外れでした、すみません。

内容的にも、サーバ側でdeflateされている場合のinflate周りで修正しているようですので、plainでの通信要求を送るのでも回避できるかもしれませんね。

引き続きお手数ですが、よろしくお願い致します。

@unageanu
Copy link
Owner

unageanu commented Nov 30, 2016

ありがとうございます。
ruby 2.3.3net/http のコードを見てみたところ、パッチが適用されていないようだったので手動で適用してみましたが、少し先には進んだもののまだエラーになります・・・。

 JSON::ParserError:
       784: unexpected token at '??OkQ?~??:4??Ytgj[۩??M C#e?ZQ
                                                              -!߽????l?uњ9?l??cf޽?ͻo?:?r?]?Z̗?M???ɗv?uo???????7?~??]?Y????b?Ko?r??W??}??v?w??o??????к??n}y?:??5??w?ϑ5Ǐ?\z??_??{?c?wurZs,???Ih?q??ՊQP,?n?5'
     json/common.rb:156:in `parse'
     json/common.rb:156:in `parse'

一方、"Accept-Encoding" => "plain" での回避はうまくいくようです。とりあえず、強引にヘッダを差し込んでみたところ、エラーになっていたテストケースは期待通り動作するようになりました。取り急ぎこちらで回避する方向で検討します。内部で使用している http_party でヘッダを差し込む手順を調査すれば行けるかと。

すみませんが、明日から3日ほど時間が取れそうにないので、日曜に引き続き調査します。

@norimaki8
Copy link

ありがとうございます。
よろしくお願いします!

@unageanu
Copy link
Owner

unageanu commented Dec 2, 2016

先ほど OANDA様から返信をいただき、サーバー側の設定変更('deflate'での圧縮をデフォルトにしていた)を元に戻したとのことです。こちらでも、エラーになっていたテストケースが正しく動作するようになったのを確認しましたので、とりあえず問題は解消されたはずです。ご確認ください。

@shiomi326
Copy link
Author

ありがとうございます。
正常に動作するのを確認しました。
また、実稼働に際して懸念していることですが
今後OANDAが設定を変更することで同じようなエラーが起こる可能性があるのでしょうか?
(リアル口座は正常に動作していたとの事ですので大丈夫だと思いますが。。)

@unageanu
Copy link
Owner

unageanu commented Dec 5, 2016

回答が遅くなり、申し訳ありません。

今後OANDAが設定を変更することで同じようなエラーが起こる可能性があるのでしょうか?

可能性としてはあると思います。

こちらでできる予防策としては、 Accept-Encoding: plain を入れてしまう、という手段がありますが、
これを適用すると圧縮の恩恵が受けられなくなる副作用もあります。そのため、とりあえず問題がないのであれば、無理に入れなくても良いかと考えています。Rubyが deflate に対応するのを待つ形でよいかと。
(↑のパッチでも根本解決はしておらず、 deflate 圧縮を選択肢から除外しているだけのように見えましたので、何時になるかはわかりませんが)

@norimaki8
Copy link

ありがとうございます。
私の方は [502 Bad Gateway]と出てしまいます。

ちょっといじっていた時に、OANDAのPersonal Access Tokenを変更してしまったので、そのせいかもしれません。

新しくjiji2をインストールしなおしてみます。

@norimaki8
Copy link

正常に動作しました!
ありがとうございました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants