IDs de incremento não sequenciais para pedidos na Adobe Commerce Cloud
No Adobe Commerce Cloud Pro, as IDs de pedido, fatura, remessa e outras IDs de incremento de entidade aumentam em etapas, como 100000001 → 100000004 → 10000007 em vez de incrementar em 1. Esse comportamento ocorre devido à arquitetura de banco de dados de vários nós do Galera usada em ambientes Cloud Pro. Para corrigir isso, trate as IDs de incremento somente como identificadores exclusivos e evite depender da numeração sequencial.
Descrição description
Ambiente
Adobe Commerce no Cloud Pro com MySQL de vários nós (Cluster Galera)
Problema/Sintomas
Os comerciantes observam que as IDs de incremento:
- Aumento de etapas (geralmente +3)
- Não seguir uma sequência estrita
- Ignorar valores
Esses comportamentos geram preocupações sobre:
- Números de pedido voltados para o cliente
- Relatórios internos
- Requisitos de auditoria e conformidade
Causa
Os ambientes Cloud Pro usam um cluster Galera de 3 nós para oferecer suporte à alta disponibilidade e à consistência de dados.
Para evitar colisões de chaves primárias durante gravações simultâneas, o MySQL usa a seguinte configuração:
auto_increment_increment = 3auto_increment_offset = {1,2,3}(por nó)
Cada nó gera IDs independentemente em sua própria sequência. Por exemplo:
- Nó 1 → 1, 4, 7, 10…
- Nó 2 → 2, 5, 8, 11…
- Nó 3 → 3, 6, 9, 12…
Como resultado, as IDs de incremento são:
- Globalmente exclusivo
- Não sequencial quando visualizado como um único fluxo
Comportamento esperado
- Não há garantia de que as IDs de incremento sigam uma sequência.
- Intervalos e aumentos de etapa são normais.
- Esse comportamento se aplica a todas as entidades que usam incremento automático.
Esse comportamento também ocorre fora de ambientes clusterizados devido a:
- Transações com falha
- Reversões
- Operações simultâneas
Impacto
- A funcionalidade do sistema e a integridade dos dados permanecem inalteradas.
- As IDs permanecem exclusivas e válidas para todas as operações da Adobe Commerce Cloud.
- Somente as expectativas de numeração sequencial são afetadas.
Resolução resolution
Para resolver esse problema, siga estas etapas:
-
Evite depender de IDs de incremento sequenciais.
-
Tratar IDs de incremento como identificadores exclusivos, não valores ordenados.
-
Para pedidos e relatórios, use:
created_atcarimbos de data e hora- Relacionamentos de entidade ou lógica comercial
-
-
Atualizar ferramentas de relatório e auditoria.
-
Se suas ferramentas esperam sequenciamento estrito:
- Atualizar a lógica para manipular IDs não contíguas.
- Remova as dependências da continuidade numérica.
-
-
Implementar sequenciamento personalizado (se necessário).
-
Se sua empresa requer números estritamente sequenciais:
- Crie um gerador de sequência personalizado (por exemplo, um módulo personalizado).
- Armazene o valor como um atributo separado (não substitua a ID do incremento).
- Use o travamento correto para evitar condições de corrida.
-
Prática recomendada
Tratar IDs de incremento como placas de licença, não como contadores de tíquete:
- Eles identificam itens de forma exclusiva
- Eles não garantem ordem
Conclusão
As IDs de incremento não sequenciais no Cloud Pro são um resultado direto do design de banco de dados distribuído da plataforma. Isso garante escalabilidade e confiabilidade, mas significa que não há suporte para sequenciamento rigoroso no nível da infraestrutura. Para casos de uso que exigem numeração sequencial, é necessária uma solução personalizada ou externa.