Komentar awal ini tampaknya tidak relevan.
Ini sedikit kasus tepi tetapi itu bisa terjadi. Itu hanya terjadi pada bantalan yang sangat aktif (pikirkan 10 detik suntingan per detik).
loadTesting
.Pad tidak mau dimuat
Pad harus dimuat.
Pad akan berhasil dimuat dan dapat diedit setelah Load Testing selesai
Jika Anda sudah menggunakan pad, tidak ada kesalahan yang datang dan itu berfungsi dengan baik.
Error: Failed assertion: mismatched apply: 10984 / 11740
Asumsi saya adalah bahwa antara waktu kami mengirimkan objek pad
termasuk baseRev # telah ada perubahan tambahan yang berarti bahwa perubahan berikutnya gagal menyebabkan ketidakcocokan berlaku.
Pertimbangkan skenario ini..
Rev # |
1 | <-- we connect here
2 | <-- has been an edit here.
3 | <-- is the first commit we receive from the server
Logikanya begini:
exports.applyToText = function (cs, str) {
var unpacked = exports.unpack(cs);
exports.assert(str.length == unpacked.oldLen, "mismatched apply: ", str.length, " / ", unpacked.oldLen);
Saya pikir solusinya adalah Etherpad dapat "meminta" revisi sebelumnya setelah menerima revisi yang "di masa depan" dan menerapkannya sebelum revisi terbaru. Pada dasarnya setelah menerima 3
dan mengetahui itu di 1
ia juga meminta [2]
dan menerapkan [2]
sebelum 3
?
Saya mencoba membuat masalah yang sama pada etherpad-cli-client
dengan etherpad-load-test
dan tidak bisa. Pesan selalu muncul untuk memuat secara berurutan. Langkah selanjutnya adalah mensimulasikan penundaan antara CLIENT_VARS
dan NEW_CHANGES
dan lihat apa yang terjadi.
Menariknya menggunakan klien CLI ini tidak pernah terjadi. Jadi ini harus menjadi masalah klien web.
Baris 283 dari collab_client.js
if (msg.type == "NEW_CHANGES")
Dari sinilah kesalahan tampaknya berasal..
Tampaknya jumlah revisi tidak ditangani dengan baik..
Hai John, benar!
Saya menjalankan loadTest di server Uji: node app.js http://127.0.0.1 :9001/p/load -d 180 -l 100 -a 500
dan juga pada Productive: node app.js http://127.0.0.1 :9001/p/load -l 50 -a 12
tidak ada Masalah.
Seorang pengguna mengkonfirmasi kepada saya, jika Anda sudah di pad, Anda tidak memiliki masalah. Masalah terjadi pada kami dari 10 hingga 15 pengguna.
180/500 adalah angka yang tidak realistis! 500 penulis masing-masing melakukan 1 pengeditan per detik akan merusak Internet ️
Hai @JohnMcLear , tentu saja. Tapi saya bisa tegaskan, instalasi Etherpad bertahan! Mengesankan. Namun, ini juga berarti bahwa apa pun yang membuat instance kita mogok (lihat masalah tertutup https://github.com/ether/etherpad-lite/issues/4090) mungkin tidak terlalu bergantung pada aktivitas di pad, yang mungkin berarti adalah masalah lain.
Tercatat @yorickreum. Tetapi jika saya dapat memperbaiki masalah ini, kemungkinan/kemungkinan itu akan memperbaiki masalah Anda. Aplikasi yang tidak cocok pada dasarnya adalah kondisi balapan yang perlu saya perbaiki dan perbaikan bug masalah ini diharapkan akan mencakup semua kemungkinan kondisi balapan yang terjadi terlepas dari penyebabnya.
Menarik. mismatched apply
hanya berlaku untuk menerapkan changeset ke string, bukan "tambahkan" konten pad yang merupakan satu-satunya hal yang dilakukan alat loadTest.
Saya perlu membuat alat loadTest juga mensimulasikan penerapan changeset ke string.
Hanya pembaruan tentang ini jika ada yang basi.
Saya tidak dapat mengingat logika untuk menerapkan atribut ke pilihan hanya dengan menggunakan changeset.js tanpa manajer atribut dokumen jadi saya telah meminta bantuan.
Ini adalah sesuatu yang baru-baru ini dapat dibantu oleh seseorang yang baru dikenal. Setelah saya memiliki logika itu, saya akan memasukkannya ke dalam tes beban dan mudah-mudahan dapat mensimulasikan bug.
Jika tidak ada pembaruan lebih lanjut dari saya tentang ini, itu karena saya kehabisan waktu.
Hanya pembaruan/laporan singkat:
Kemarin masalah terjadi lagi untuk saya di pad dengan hanya 2 pengguna jadi saya sepertinya tidak bergantung pada jumlah pengguna seperti yang sudah ditulis oleh @yorickreum (lihat https://github.com/ether/etherpad-lite/issues /4090). Masalah muncul setelah 2 menit dan berlangsung selama 1 menit sebelum saya menutup tab dan membuka kembali pad di tab baru yang akhirnya menyelesaikan masalah selama satu jam berikutnya. Saya menggunakan Firefox 78.0.2.
@Oremountainflorian Saya akan tergoda untuk menyarankan pengujian tanpa plugin untuk melihat apakah itu berlanjut.
Dalam 1 menit setelah kesalahan berlanjut, apakah Anda mencoba menyegarkan browser Anda? Perubahan tidak disimpan terus-menerus sehingga tidak masuk akal bahwa penyegaran aktivitas rendah tidak diperbaiki. Saya merasa beberapa keparat plugin bisa terjadi
Komentar yang paling membantu
Tercatat @yorickreum. Tetapi jika saya dapat memperbaiki masalah ini, kemungkinan/kemungkinan itu akan memperbaiki masalah Anda. Aplikasi yang tidak cocok pada dasarnya adalah kondisi balapan yang perlu saya perbaiki dan perbaikan bug masalah ini diharapkan akan mencakup semua kemungkinan kondisi balapan yang terjadi terlepas dari penyebabnya.