Dotaz používá index_status namísto fk_task_userid (index na node_id). To je důvod, proč zamyká záznamy s jinými node_ids.
Ve svém dotazu můžete spustit vysvětlení, abyste viděli, kolik záznamů je skutečně uzamčeno (ve zkoumaných řádcích) a kolik z nich musíte zamknout (vrácené řádky)
Proč? Mám pocit, že vaše indexy stejně nejsou optimální... Vytvořte index na node_id,status, problém by měl vyřešit