Haz la configuración de org post-commit en realidad escribir, y curar los orgs que se perdió

FixSecurityService
Shipped
23 de agosto de 2026 a las 2:45 UTC
Author
Kamo
Commit
748ae48

Un método transaccional llamado de **************** no abre un una transacción propia. Primavera despide esas llamadas de procesoCompromete ANTES limpiezaDespués de la completan los recursos transaccionales del hilo, por lo que los recién comprometidos transacción sigue activa y la propagación REQUIERRED por defecto simplemente participa en ella y a El participante nunca se vuelve a comprometer. Todo lo que el método escribe se descarta cuando el EntityManager cierra, sin excepción y sin línea de registro. 3903267 movido aprovisionamiento de asiento de facturación y el relleno de servicio de Usuario de la Comisión de Servicios crear la transacción de la organización después deCommit, bajo un comentario diciendo que ahora corrieron "en su transacciones propias". Ninguno de los dos fue cambiado a REQUIRES-NEW, así que desde ese día ambos no escribieron nada: - Cada org creado desde entonces no tiene ninguna fila de suscripciones de cuenta. Su propietario se resuelve Capacidades de miembros.unlicensed() No hay correo electrónico, sin reuniones, sin llamadas, sin adjuntos y no puede recuperarse firmando, porque tal vezStartTrialOnLogin comienza el reloj en una prueba de PENDING que Nunca fue creado. La única fuga fue que el propietario estaba abriendo Settings y Billing, cuyo endpoint de bootstrap-billing está documentado como un retroceso para los orgs que la facturación pre-dated. - No org tiene la membresía de usuario del sistema POST /enter-como se requiere, por lo que entrar a uno como Miembro del Sistema responde "Membresía de usuario de Sístema que falta en el org objetivo; relleno pendiente" Esta mitad se escondió por dos semanas porque DataLoader re-run un relleno completo de usuario del sistema en cada bota; sólo un org creado entre dos reinicios lo ha demostrado. asegánteSystemUser, asegúrese deTeamMemberForOrg y la configuración basada en id para la configuraciónForSubOrgCreation sean ahora REQUIRES-NEW. La sobrecarga de la Organización mantiene a REQUIRED su llamante (AccountController) es un la ruta ordinaria que debe compartir la transacción del llamante. **************** escaniza cada cuerpo despuésComprometete en el servicio, resuelve cada uno field.method(...) llama a la fuente de la calle, y falla en el .Transactional sin REQUIRES-NEW. Async y CompletableFúrture.runAsync están exentos: un hilo fresco consigue una nueva transacción, por eso los ganchos de la cuota de correo electrónico y la provisión DNS nunca se vieron afectados. BillingBackfillService cura los orgs ya se quedan sin una suscripción, en el arranque, en la forma en que Sistema El relleno de usuario sí. Restaura exactamente lo que la creación habría escrito un juicio PENDING Así que el reloj de tres días todavía comienza en el primer login real del propietario y nadie pierde el tiempo de evaluación Nunca llegaron a usar. Cada org es sanado por su propia llamada REQUIRES-NEW, por lo que un mal org cuesta sólo en lugar de descartar todo el paso del camino asegurarte de queTeamMembersForAllOrgs lo haría.

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