Comete la bandera procesada con el dinero escribir, no por delante de ella

FixBillingService
Shipped
26 de agosto de 2026 a las 1:59 UTC
Author
Kamo
Commit
2945f3d

markProcessed fue REQUIRES-NEW, por lo que cometió procesado=true mientras que el Los escritos de dinero del manejador seguían sin comprometerse en el exterior suspendido transacción. JpaTransactionManager no enjuaga a una persistencia suspendida contexto, por lo que el commit interno aterrizó por delante del SQL pendiente del exterior. A fallo de la fase de confirmación -- la limitación única de AccountInvoice en stripe.invoice-id, su NOT NULL FK en cuenta-uid, o una tragado IllegalArgumentException in SubscriptionMemberService.add envenenando a los compartidos transacción -- luego lanzó la devolución de dinero y dejó el evento marcado hecho. El reinicio de Stripe se lo saltó, así que la escritura estaba Perdido, y ni siquiera llegó a la La consulta de venenoso porque el procesamiento era cierto. markProcessed ahora se une a la transacción exterior, por lo que un retroceso toma la bandera con que y la fila se mantiene reclamado-pero-desprocesado, que es lo que ************* existe para la superficie. mantener REQUIRES-NEW: La afirmación debe sobrevivir a un retroceso o cada reinicio parece un primera entrega, y el detalle del error debe sobrevivir al retroceso que describe. También fortalece tres afirmaciones de texto fuente que una encuesta de mutación derrotó: == La puerta 0 podría ser invertida a == 1 - la reclamación podría ser envuelta en un condicional mientras que el pedido de índices sigue pasado, y borrando el interruptor post-switch La llamada fue enmascarada por el sitio de llamadas de retorno temprano. Encontrado por una revisión adversaria de tres lentes; 16 de sus 23 hallazgos fueron refutados.

All changes

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios