Fazer com que a configuração pós-commit org realmente escreva e cure as orgs que perdeu

FixSecurityService
Shipped
23 de agosto de 2026 às 02:45 UTC
Author
Kamo
Commit
748ae48

Um método @Transactional chamado de **************** não abre um transacção própria. Primavera dispara essas chamadas de volta do processoCommit ANTES limpezaApós a Compleção desvincula os recursos transacionais do thread, então o just-commit A operação ainda está ativa e a propagação por defeito NECESSITA simplesmente participa nela — e participante nunca é comprometido novamente. Tudo o que o método escreve é descartado quando o EntityManager fecha, sem exceção e sem linha de registro. 3903267 moveu o provisionamento do banco de faturamento e a equipe do usuário do sistema createOrganização's transaction into afterCommit, em um comentário dizendo que eles agora correram "em seu transacções próprias". Nenhum dos dois foi alterado para REQUIRES NOV, então a partir daquele dia ambos não escreveram nada: - Cada org criado desde não tem nenhuma linha account subscriptions em tudo. O seu proprietário decide MemberCapabilities.unlicensed() — sem email, sem reuniões, sem chamadas, sem anexos — e não pode recuperar ao iniciar sessão, porque talvezStartTrialOnLogin começa o relógio em um teste PENDING que nunca foi criado. A única fuga foi o proprietário acontecer para abrir Configurações → Planos & Billing, Cujo ponto final de arranque é documentado como um retrocesso para as orgs que tenham sido previamente datadas. - No org tem a adesão do usuário do sistema POST /enter-as required, para inserir um como membro do sistema respostas "Associação do usuário do sistema faltando na org-alvo; backfill pendente". Esta metade escondeu-se para dois. semanas porque DataLoader re-executa um preenchimento completo do usuário do sistema em cada inicialização; apenas uma org criada entre dois reinícios que já o mostraram. assecureSystemUser, assegureTeamMemberForOrg e a configuração baseada em idForSubOrgCreation estão agora REQUERES NOVO. A sobrecarga da organização mantém-se EXIGIDA — seu chamador (AccountController) é um caminho de solicitação comum que deve compartilhar a transação do chamador. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * field.method(...) chama a fonte do callee, e falha em @Transactional sem REQUIRES NEW. @Async e CompletableFuture.runAsync estão isentas: um novo tópico recebe uma nova transação, que é por isso que o email-seed e DNS-provision ganchos nunca foram afetados. BillingBackfillService cura os orgs já deixados sem uma assinatura, no boot, a forma como o O preenchimento do usuário do sistema faz. Restaura exatamente o que a criação teria escrito — uma prova pendente — então o relógio de 3 dias ainda começa no primeiro login real do proprietário e ninguém perde tempo de avaliação Eles nunca conseguiram usar. Cada org é curado por sua própria chamada REQUIRES NEW, então uma má org custa apenas Em vez de descartar todo o passe, o caminho garantiria que os membros da EquipeForAllOrgs.

All changes

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços