- Spegnimento
- 23 agosto 2026 alle ore 02:45 UTC
- Autore
- Kamo
- Impegno
- 748ae48
Un metodo @Transactional chiamato da ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** transazione propria. La primavera accende i callback dal processoCommettere BEFORE cleanupAfterCompletion slega le risorse transazionali del thread, così il appena-commesso l'operazione è ancora attiva e la propagazione REQUIRED predefinita partecipa semplicemente ad esso — e una partecipante non si impegna mai più. Tutto ciò che il metodo scrive è scartato quando il EntityManager chiude, senza eccezioni e senza linea di log. 3903267 ha spostato il provisioning del set di fatturazione e il backfill del TeamMember dell'utente del sistema da creare la transazione dell'organizzazione in afterCommit, sotto un commento dicendo che ora hanno funzionato "nel loro operazioni proprie». Né è stato cambiato in REQUIRES NEW, quindi da quel giorno entrambi non hanno scritto nulla: - Ogni org creato dal momento che non ha alcuna riga account subscriptions. Il suo proprietario si impegna a I membriCapabilities.unlicensed() — nessuna e-mail, nessuna riunione, nessuna chiamata, nessun allegato — e non può recuperare firmando, perché forseStartTrialOnLogin inizia l'orologio su un processo PENDING che non è mai stato creato. L'unica fuga era il proprietario che stava per aprire Impostazioni → Piani & Billing, il cui punto finale di boottrap-billing è documentato come un fallback per org che pre-dated fatturazione. - No org ha ottenuto l'appartenenza all'utente di sistema POST /enter-as richiede, così entrando uno come membro del sistema risponde "L'appartenenza all'utente del sistema manca nell'org target; il backfill in attesa". Questo mezzo nascosto per due settimane perché DataLoader replica un backup completo dell'utente di sistema su ogni boot; solo un org creato tra due ripartenze l'hanno mai mostrato. garantire SystemUser, garantireTeamMemberForOrg e la configurazione basata su idForSubOrgCreation sono ora No. Il sovraccarico dell'Organizzazione mantiene REQUIRED — il suo chiamante (AccountController) è un percorso di richiesta ordinaria che dovrebbe condividere la transazione del chiamante. ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** field.method(...) chiama alla fonte del callee, e fallisce su @Transactional senza REQUIRES NEW. @Async e CompletableFuture.runAsync sono esenti: un filo fresco ottiene una transazione fresca, Ecco perché i ganci di posta elettronica e di protezione DNS non sono mai stati colpiti. BillingBackfillService guarisce gli org già lasciati senza abbonamento, all'avvio, il modo in cui Il backup utente di sistema lo fa. Esso ripristina esattamente ciò che la creazione avrebbe scritto — un processo PENDING — quindi l'orologio di 3 giorni inizia ancora sul primo login reale del proprietario e nessuno perde tempo di valutazione Non hanno mai dovuto usare. Ogni org è guarito dalla propria chiamata REQUIRES NEW, quindi un cattivo org costa solo al posto di scartare l'intero passaggio la strada assicuraTeamMembersForAllOrgs sarebbe.