Tedious: 最終状態で電話を切りました

作成日 2017年06月12日  ·  5コメント  ·  ソース: tediousjs/tedious

概要を簡単に説明するために、mssql npmの個々の呼び出しを使用して、データベースに数百のレコードを非同期で挿入しようとしています。 ただし、mssqlの古いバージョン3.3.0を使用しているときに、npmからコールバックを受け取らないことがありました。 mssqlを4.0.4に更新しましたが、まだコールバックを取得していません。 私はそれをこのnpmまで追跡しました。
processPreLoginResponseの後、それはtlsに送信されます。 次に、SentTLSSSLNegotiationに移行します。 何らかの理由で、ここに到達すると数百レコードが経過した後、socketEndが呼び出されます。 次に、Finalに遷移し、enter関数が呼び出され、cleanupConnectionが呼び出され(パラメーターなしで)、接続と要求タイマーがクリアされ、接続が閉じられ、socketCloseが呼び出されてから、再びFinalへの遷移が試行され、enter関数が呼び出されます。は呼び出されず、無期限にそこにぶら下がっているように見えます。
そもそもsocketEndが呼び出される理由や、コードにバブルアップされて処理できない理由について何か考えはありますか?

最も参考になるコメント

@landondavidson @ jstephens7 https://github.com/tediousjs/tedious/pull/763がマージされ、 [email protected]としてリリースされました。

それでも問題が解決しない場合はお知らせください。 それまでの間、この問題を解決します。 🙇

全てのコメント5件

Azureデータベースを使用すると、この正確な問題が発生します。 1秒のタイマーで紺碧の機能を約4時間実行すると、問題を簡単に再現できます。 何かお手伝いできることはありますか? これは私たちにとって大きな問題であり、この問題に関する何らかの更新を望んでいます。

ねえ@landondavidson 、応答が遅れてすみません、この問題のリポジトリを共有してもよろしいですか?
Azure DBの断続的なConnectionErrorに対処する#574がありました。これは、面倒なv2.1.0でリリースされました。ほとんどの接続プールパッケージは、古いバージョンの面倒なドライバーを使用しています。depが最新のドライバーを使用しているかどうかを確認できますか?

@ v-suhame、ConnectionErrorは表示されません。 接続中、ソケットが閉じてしまいます。 過去2週間に本番環境に導入した修正を含むプルリクエストを送信しました。 これはかなり負荷の高いWebサイトであり、報告された後に接続プールが接続を再試行することでエラーは完全に解消されました。

@landondavidson @ jstephens7 https://github.com/tediousjs/tedious/pull/763がマージされ、 [email protected]としてリリースされました。

それでも問題が解決しない場合はお知らせください。 それまでの間、この問題を解決します。 🙇

以前の修正は機能していますが、wiresharkを実行して、最初にエラーにつながるネットワークトラフィックを確認することにしました。 トレースの実行中に問題を2回再現することができました。
戻ってきたもののどの部分の重要性もわからないので、エラーが発生した2回の間に共通して気づいたことを含めます。
どちらの場合も、ウィンドウサイズが66560のPSHACKとFINACKがありました。
その後、どちらの場合もRSTACKが発生しました。
次に、次のTLSネゴシエーションを開始しているように見えます(クライアントこんにちは、サーバーこんにちは...暗号化されたハンドシェイクメッセージ)
その後、どちらの場合もアプリケーションデータの送信を開始し、TLS「暗号化アラート」を受け取り、続いてACKとsocket.endが呼び出されました(これ以上のTLS / TCPトラフィックはありません)。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

GuyHarwood picture GuyHarwood  ·  7コメント

ggazulla picture ggazulla  ·  4コメント

tvrprasad picture tvrprasad  ·  5コメント

ghost picture ghost  ·  5コメント

arthurschreiber picture arthurschreiber  ·  8コメント