- Verschifft
- 23. August 2026 um 02:45 UTC
- Autor
- Kamo
- Ausschuss
- 748ae48
Eine @Transaktionale Methode von **************** genannt nicht Transaktion für sich. Frühling feuert diese Rückrufe von processCommit VOR CleanupAsCompletion schaltet die transaktionalen Ressourcen des Threads, so dass die just-engagiert Transaktion ist immer noch aktiv und Standard-REQUIRED-Propagierung nimmt einfach daran teil - und ein Teilnehmer wird nie wieder verpflichtet. Alles, was die Methode schreibt, wird verworfen, wenn die EntityManager schließt, ohne Ausnahme und ohne Log-Zeien. 3903267 verschoben Billing-Sitz-Bestimmungen und das System User Teammitglied-Verfüller aus erstellen Organisation Transaktion in nachCommit, unter einem Kommentar sagen, sie liefen jetzt "in ihrem eigene Transaktionen". Weder wurde geändert, um REQUIRES_NEW, so von diesem Tag an beide nichts geschrieben: - Jeder org, der seither erstellt wurde, hat überhaupt keine Account-Abonnements-Reihe. Sein Besitzer beschließt, MemberCapabilities.unlicensed() - keine E-Mail, keine Meetings, keine Anrufe, keine Anhänge - und nicht Wiederherstellen durch die Anmeldung, weil vielleichtStartTrialOnLogin startet die Uhr auf einem PENDING-Studie, dass wurde nie geschaffen. Die einzige Flucht war der Besitzer geschieht, um Einstellungen zu öffnen . Pläne & Abrechnung, dessen Bootstrap-billing Endpunkt als Fallback für Orgs dokumentiert ist, die vordatiert Abrechnung. - No org hat die Systembenutzer-Mitglieds-Mitgliedschaft POST /enter-wie erforderlich, so dass die Eingabe eines als System-Mitglied antwortet "System Benutzermitgliedschaft fehlt in target org; Backfill pending". Diese Hälfte versteckte sich für zwei Wochen, weil DataLoader eine vollständige Systembenutzer-Verfüllung auf jedem Boot wiedergibt; nur eine org erstellt zwischen zwei Neustarts jemals gezeigt. sicherstellenSystemUser, stellen Sie sicherTeamMemberForOrg und die id-basierte SetupForSubOrgCreation jetzt REQUIRES_NEW. Die Organisation Überlastung hält REQUIRED - ihr Anrufer (AccountController) ist ein gewöhnlicher Antragspfad, der die Transaktion des Anrufers teilen sollte. **************** scannt jeden Nachkommunen Körper im Service, löst jeden field.method(...) ruft zur Quelle des Callees auf und scheitert auf @Transactional ohne REQUIRES_NEW. @Async und CompletableFuture.runAsync sind davon ausgenommen: Ein frischer Faden bekommt eine frische Transaktion, Deshalb waren die E-Mail-Seed- und DNS-Provision Hooks nie betroffen. BillingBackfillService heilt die bereits verlassenen Orgs ohne Abonnement, beim Booten, die Art und Weise die System Benutzer-Backfill tut. Es stellt genau das wieder her, was die Schöpfung geschrieben hätte - eine PENDING-Studie So startet die 3-Tages-Uhr immer noch auf dem ersten echten Login des Besitzers und niemand verliert Bewertungszeit sie bekamen nie zu verwenden. Jede Org wird durch seinen eigenen REQUIRES_NEW Anruf geheilt, so dass eine schlechte org nur kostet selbst, anstatt den ganzen Pass zu verwerfen, den Weg sicherzustellen, dassTeammitgliederForAllOrgs würden.