Tedious: Digantung dalam keadaan Final

Dibuat pada 12 Jun 2017  ·  5Komentar  ·  Sumber: tediousjs/tedious

Untuk memberikan gambaran singkat, saya mencoba memasukkan beberapa ratus catatan secara tidak sinkron ke dalam database kami menggunakan panggilan individual di mssql npm. Namun, saat menggunakan mssql versi 3.3.0 yang lebih lama, terkadang saya tidak mendapatkan panggilan balik dari npm. Saya memperbarui mssql ke 4.0.4 dan saya masih belum mendapatkan panggilan balik. Saya melacaknya ke npm ini.
Setelah processPreLoginResponse itu dikirim ke tls. Kemudian transisi ke SentTLSSSLNegotiation. Untuk beberapa alasan, setelah beberapa ratus catatan setelah sampai di sini, socketEnd dipanggil. Kemudian bertransisi ke Final, fungsi enter dipanggil, cleanupConnection dipanggil (tanpa parameter), membersihkan koneksi dan meminta timer, menutup koneksi, socketClose dipanggil dan kemudian mencoba bertransisi ke Final lagi, dan fungsi enter tidak disebut, dan tampaknya hanya menggantung di sana tanpa batas.
Adakah yang tahu mengapa socketEnd dipanggil sejak awal atau mengapa itu tidak pernah menggelembung ke kode saya sehingga saya bisa menanganinya?

Komentar yang paling membantu

@landondavidson @jstephens7 https://github.com/tediousjs/tedious/pull/763 digabungkan dan dirilis sebagai [email protected] .

Beri tahu kami jika Anda masih mengalami masalah. Sementara itu, saya akan menutup masalah ini. 🙇

Semua 5 komentar

Kami mengalami masalah yang tepat ini menggunakan database Azure. Kami dapat dengan mudah membuat ulang masalah setelah sekitar 4 jam menjalankan fungsi biru pada timer 1 detik. Apakah ada yang bisa kami bantu? Ini adalah masalah besar bagi kami dan kami akan menyukai semacam pembaruan tentang masalah ini.

Hai @landondavidson , maaf atas keterlambatan respons, apakah Anda keberatan berbagi repo untuk masalah ini?
Kami memiliki #574 yang membahas ConnectionError intermiten di Azure DB, dirilis di v2.1.0 yang membosankan, sebagian besar paket penyatuan koneksi menggunakan versi lama dari driver yang membosankan, dapatkah Anda memverifikasi apakah dep Anda menggunakan driver terbaru?

@v-suhame, kami tidak melihat ConnectionError. Soket hanya menutup kami dalam proses menghubungkan. Saya baru saja mengirimkan permintaan tarik dengan perbaikan yang telah kami produksi selama dua minggu terakhir. Ini adalah situs web dengan beban yang cukup berat dan kesalahan telah benar-benar hilang dengan penyatuan koneksi mencoba kembali koneksi setelah dilaporkan.

@landondavidson @jstephens7 https://github.com/tediousjs/tedious/pull/763 digabungkan dan dirilis sebagai [email protected] .

Beri tahu kami jika Anda masih mengalami masalah. Sementara itu, saya akan menutup masalah ini. 🙇

Perbaikan dari sebelumnya berfungsi untuk saya, tetapi saya memutuskan untuk menjalankan wireshark untuk mencoba dan melihat lalu lintas jaringan yang mengarah ke kesalahan di tempat pertama. Saya dapat mereproduksi masalah dua kali saat menjalankan pelacakan.
Saya tidak yakin tentang pentingnya bagian mana pun dari apa yang saya dapatkan kembali, jadi saya akan menyertakan kesamaan yang saya perhatikan antara dua kali kesalahan terjadi.
Kedua kali kami memiliki PSH ACK dan FIN ACK dengan ukuran jendela 66560.
Setelah itu, kedua kali kami memiliki RST ACK.
Kemudian sepertinya memulai negosiasi TLS berikutnya (klien halo, server halo... pesan jabat tangan terenkripsi)
Setelah itu, kedua kali itu mulai mengirim data aplikasi dan kami mendapat "Peringatan terenkripsi" TLS diikuti oleh ACK dan socket.end telah dipanggil (tidak ada lalu lintas TLS/TCP lebih lanjut).

Apakah halaman ini membantu?
0 / 5 - 0 peringkat