Zostaliśmy widząc dużo błędów ostatnio:Uwalnianie mysql zablokować transakcję zewnętrzną (szyny)
ActiveRecord::TransactionIsolationConflict: Transaction isolation conflict detected: Lock wait timeout exceeded; try restarting transaction
nie jest w stanie zorientować się, rozumowanie za nim. Ale zauważyłem jedną rzecz w naszym kodzie, który próbuje zablokować rekord poza transakcji:
acc = Account.lock.find acc_id
Powyższy kod nie jest wewnątrz każdej transakcji i jest używany tylko w celu sprawdzenia, że druga transakcja, która uzyska również taką samą blokadę zakończeniu lub nie. Jakieś przemyślenia na temat tego, czy to może być winowajcą?