Kueri menggunakan indeks index_status alih-alih fk_task_userid (indeks pada node_id). Inilah alasannya mengunci catatan dengan node_ids lainnya.
Anda dapat menjalankan explain pada kueri Anda untuk melihat berapa banyak record yang benar-benar dikunci (dalam baris yang diperiksa) vs berapa banyak dari mereka yang perlu Anda kunci (baris dikembalikan)
Mengapa? Saya merasa indeks Anda tidak optimal ... Buat indeks pada node_id,status, itu harus menyelesaikan masalah