Parcial Outage: Importações e exportações mercantes
- identified
Estamos enfrentando e identificamos uma queda parcial no nosso serviço de Importações e Exportações Merchant e estamos trabalhando em resolvê-lo o mais rápido possível.
- resolved
Este incidente foi resolvido.
- postmortem
# Relatório Pós-morte de Incidentes ** Exportações e importações do Dashboard atrasadas para todas as lojas ** Mais informações --- --- --- --- Data** 25 de outubro de 2026, 11:25 até 2:26 (UTC\+3, KSA time\). Duração: 3 horas 1 minuto Tipo de incidente** Degradação do serviço: processamento de fundo Um painel de importação muito grande parado exportações e importações para todas as lojas Em média, 81 minutos e até 3 horas 43 minutos foram atrasados. 3 deles cronometraram e devem ser solicitados novamente. As importações do cliente da Loja que começou a grande importação foram adiadas até às 3:12 PM. Impacto total no tempo de trabalho** Não há interrupção. As lojas, o checkout e o painel funcionaram o tempo todo. Apenas exportações e importações aguardavam. □ # # Resumo As exportações do painel \(ordens, clientes, carteira, carrinhos abandonados e outros\) e as importações do painel são construídas em segundo plano por um grupo compartilhado de trabalhadores. Às 11:23 um Merchant iniciou uma importação de clientes com cerca de 1,05 milhões de linhas. A plataforma divide cada importação em partes de 100 linhas, então esta se tornou 10.486 partes. Depois de cada parte, a plataforma verifica se toda a importação terminou, para que possa enviar ao Merchant um resumo. Essa verificação carregou todas as partes da importação, linhas incluídas, na memória: cerca de 200 MB por verificação para esta importação, com até cinco verificações em execução ao mesmo tempo. Os trabalhadores ficaram sem memória e recomeçaram várias vezes. Exportar pedidos de cada Loja esperou atrás das peças de importação. Nós enviamos uma mudança de nível de código para que a verificação só pergunta se alguma parte ainda está pendente e adiciona os totais finais no banco de dados. Ele já não carrega as linhas, de modo que seu uso de memória não cresce mais com o tamanho da importação. # # Linha do Tempo \(hora KSA\) Tempo , Evento , --- --- --- --- 11:23 A Merchant inicia uma importação de clientes de cerca de 1,05 milhões de linhas. Por 11:27 AM é dividido em 10.486 partes. 11:25 AM O primeiro pedido de exportação que tem de esperar é criado. Pedidos posteriores fila atrás das peças de importação. ~11:34 Os trabalhadores começam a ficar sem memória e a reiniciar. Daqui terminam cerca de 5 peças de importação por reinício e quase nenhuma exportação. □ 12:26 PM Um Merchant relata para apoiar que 3 exportações solicitadas desde 11:30 AM ainda estão processando. A Engenharia do Produto inicia a investigação e traça os reinícios para a verificação de conclusão da importação. A Engenharia do Produto prepara a mudança, com um teste que reproduz o crescimento da memória. 2h08 Os trabalhadores começam a limpar o atraso, embora eles ainda reiniciem de tempos em tempos. □ 2:26 PM O último atraso na exportação termina. As exportações estão de volta ao normal. 2:34 A mudança está ao vivo. ~ 3:00 PM O trabalhador reinicia a parada. 3 pedidos de exportação que tinham esperado mais de 3 horas são marcados como cronometrado para fora. As grandes importações terminam, exceto uma parte de 100 linhas que a plataforma volta automaticamente. □ # # O que foi afetado Como sabemos --- --- --- --- --- --- Exportações de Dashboard, todos os tipos e todas as Lojas **Atrasado:** 132 pedidos de 66 Lojas, 81 minutos em média, até 3 horas 43 minutos . Encomendas 72, pedidos detalhados 21, carteira 11, carrinhos abandonados 6, clientes 6, avaliações 5, preparação da ordem 4, cupons 3, outros 4. • Exportações que cronometraram □ ** Falha:** 3 pedidos de 2 lojas □ Exportar registros de pedidos. Estes comerciantes precisam solicitar a exportação novamente. □ * Exportações ainda processando * ** 1 requisição** A plataforma volta automaticamente. Importações de clientes da Loja que iniciou a importação grande **Atrasado até 3:12 PM:** 9 importações . Todas as peças terminadas, exceto uma, que é novamente testada automaticamente. □ • Importações de outras lojas Nenhuma outra Loja iniciou uma importação durante o incidente Exportar o conteúdo do arquivo Não afetado** Cada arquivo é construído a partir de dados ao vivo quando ele é executado, então os arquivos atrasados são completos As lojas, checkout e o painel de bordo não são afetados** Apenas os trabalhadores de segundo plano para as exportações e importações reiniciou # # Ação tomada 1. Encontrou a causa: os trabalhadores que constroem as exportações e as importações foram reiniciando porque a verificação da conclusão da importação ficou sem memória. 2. Enviou uma mudança de nível de código: a verificação de conclusão conta partes pendentes e soma os totais no banco de dados em vez de carregar cada parte. Um teste falha no comportamento antigo e passa no novo. 3. Confirmado que as exportações atrasadas terminou, e identificou os 3 pedidos de timed-out para que o apoio pode pedir a esses comerciantes para solicitá-los novamente. Conclusões ** Uma importação de Merchant não deve segurar as exportações de qualquer outra Loja.** Exportações e importações compartilham os mesmos trabalhadores, por isso uma importação pesada atrasa todos. A mudança remove esta causa. ** O trabalho que é executado uma vez por peça não deve crescer com o tamanho de toda a importação.** A verificação de conclusão leu toda a importação após cada parte. Isso foi bom para as importações típicas e falhou apenas para uma muito grande. Com a mudança, uma importação deste tamanho já não esgota a memória dos trabalhadores.
Traduzido automaticamente da atualização oficial do incidente.