[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

ACSD-68206: falha do servidor GraphQL com limitação de taxa e extensão PHP Redis

O patch ACSD-68206 corrige o problema em que o servidor de aplicativos GraphQL lança um erro ao trabalhar com o recurso Limite de taxa e a extensão PHP Redis, o que interrompe a funcionalidade de limite de taxa. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.73 está instalado. A ID do patch é ACSD-68206. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.9.

Produtos e versões afetados

O patch foi criado para a versão do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.8-p2

Compatível com as versões do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.7 - 2.4.8-p3
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.

Problema

O problema ocorre quando o servidor de aplicativos GraphQL usa o recurso Limite de taxa com a extensão PHP Redis instalada, resultando em uma funcionalidade de limite de taxa inválida.

Etapas a serem reproduzidas:

  1. Instale a extensão PHP Redis.
  2. Configure o Redis para o aplicativo.
  3. Configure o limitador de taxa para permitir um pedido por cliente a cada minuto.
  4. Inicie o servidor de aplicativos GraphQL.
  5. Como cliente, envie um pedido usando a mutação PlaceOrder GraphQL.
  6. Em um minuto, envie um segundo pedido usando a mutação PlaceOrder GraphQL para o mesmo cliente.

Resultados esperados:

A solicitação PlaceOrder GraphQL retorna uma mensagem limitando as tentativas de ordem.

Resultados reais:

O servidor retorna um erro 500 para a segunda solicitação PlaceOrder GraphQL. Os registros do log de exceções:

report.CRITICAL: Error: Call to a member function exec() on null in vendor/colinmollenhour/credis/Client.php:1336

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3