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 = 3
  • auto_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:

  1. 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_at carimbos de data e hora
      • Relacionamentos de entidade ou lógica comercial
  2. 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.
  3. 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.

Leitura relacionada

recommendation-more-help
experience-cloud-kcs-help-kbarticles