Problemas conhecidos com a Apigee

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

As seções a seguir descrevem os problemas conhecidos da Apigee. Na maioria dos casos, os problemas listados serão corrigidos em uma versão futura.

Miscellaneous Edge known issues

The following sections describe miscellaneous known issues with Edge.

Area/Summary Known issues
Cache expire results in incorrect cachehit value

When the cachehit flow variable is used after the LookupCache policy, due to the way debug points are dispatched for asynchronous behavior, the LookupPolicy populates the DebugInfo object before the call back has executed, resulting in an error.

Workaround: Repeat the process (make second call) again right after the first call.

Setting InvalidateCache Policy PurgeChildEntries to true does not work correctly

Setting PurgeChildEntries in the InvalidateCache policy should purge the KeyFragment element values only but clears the entire cache.

Workaround: Use the KeyValueMapOperations policy to iterate cache versioning and bypass the need for cache invalidation.

Concurrent deployment requests for a SharedFlow or API proxy can result in an inconsistent state in the Management Server where multiple revisions are shown as deployed.

This can happen, for example, when concurrent runs of a CI/CD deployment pipeline occur using different revisions. To avoid this problem, avoid deploying API proxies or SharedFlows before the current deployment is complete.

Workaround: Avoid concurrent API proxy or SharedFlow deployments.

API call counts shown in Edge API Analytics might contain duplicate data.

Edge API Analytics can sometimes contain duplicate data for API calls. In that case the counts shown for API calls in Edge API Analytics are higher than the comparable values shown in third-party analytics tools.

Workaround: Export the analytics data and use the gateway_flow_id field to de-duplicate the data.

Problemas conhecidos com a IU do Edge

Nas seções a seguir, descrevemos os problemas conhecidos com a IU do Edge.

Área Problemas conhecidos
Não é possível acessar a página de administração da zona de SSO do Edge na barra de navegação após a organização ser mapeada para uma zona de identidade Quando você conectar uma organização a uma zona de identidade, não poderá mais acessar a página de administração da zona SSO do Edge na barra de navegação à esquerda selecionando Administrador > SSO. Como solução alternativa, acesse a página diretamente usando o seguinte URL: https://apigee.com/sso (em inglês)

Known issues with the integrated portal

The following sections describe the known issues with the integrated portal.

Area Known issues
SmartDocs
  • Apigee Edge supports OpenAPI Specification 3.0 when you create specifications using the spec editor and publish APIs using SmartDocs on your portal, though a subset of features are not yet supported.

    For example, the following features from the OpenAPI Specification 3.0 are not yet supported:

    • allOf properties for combining and extending schemas
    • Remote references

    If an unsupported feature is referenced in your OpenAPI Specification, in some cases the tools will ignore the feature but still render the API reference documentation. In other cases, an unsupported feature will cause errors that prevent the successful rendering of the API reference documentation. In either case, you will need to modify your OpenAPI Specification to avoid use of the unsupported feature until it is supported in a future release.

    Note: Because the spec editor is less restrictive than SmartDocs when rendering API reference documentation, you may experience different results between the tools.

  • When using Try this API in the portal, the Accept header is set to application/json regardless of the value set for consumes in the OpenAPI Specification.
  • 138438484: Multiple servers are not supported.
SAML identity provider Single logout (SLO) with the SAML identity provider is not supported for custom domains. To enable a custom domain with a SAML identity provider, leave the Sign-out URL field blank when you configure SAML settings.
Portal admin
  • Simultaneous portal updates (such as page, theme, CSS, or script edits) by multiple users is not supported at this time.
  • If you delete an API reference documentation page from the portal, there is no way to recreate it; you'll need to delete and re-add the API product, and regenerate the API reference documentation.
  • When configuring the content security policy, it may take up to 15 minutes for changes to fully apply.
  • When customizing your portal theme, it may take up to 5 minutes for changes to fully apply.
Portal features
  • Search will be integrated into the integrated portal in a future release.

Problemas conhecidos com o Edge para nuvem privada

As seções a seguir descrevem os problemas conhecidos com o Edge para nuvem privada.

Área Problemas conhecidos
Edge para nuvem privada 4.53.00 440148595: End of Life Popup Warning Displayed Excessively

No Edge para nuvem privada 4.53.00 e versões mais recentes, a interface mostra um pop-up de aviso de fim da vida útil (EOL). Esse aviso aparece
repetidamente e não pode ser evitado ou reduzido em frequência.

No momento, não há um método disponível para os usuários desativarem ou reduzirem a frequência desse aviso de fim da vida útil.

Edge para nuvem privada 4.53.01
443272053: erros do Datastore em componentes de borda

No Edge para nuvem privada 4.53.00 ou versões mais recentes, um tipo específico de interação entre o Cassandra e os componentes do aplicativo (servidor de gerenciamento, processador de mensagens ou roteador) pode causar erros no armazenamento de dados. Quando isso acontece, você observa registros do seguinte padrão nos registros do sistema do componente de aplicativo específico:

com.datastax.driver.core.exceptions.ProtocolError: An unexpected protocol error occurred on host /WW.XX.YY.ZZ:9042.

Esses erros ocorrem porque os avisos são gerados pelo banco de dados do Cassandra, mas o componente do aplicativo não consegue processá-los. Para reduzir, evite ou suprime avisos nos nós do Cassandra. Na maioria das vezes, os avisos são gerados devido a lápides em excesso. Para resolver avisos associados a lápides em excesso, siga uma ou uma combinação das opções listadas abaixo:

  1. Reduza gc_grace_seconds: para a tabela mostrada na mensagem de registro associada ao erro, reduza gc_grace_seconds executando o seguinte comando via cqlsh:
    # Below command sets gc_grace_seconds of kms.oauth_20_access_tokens to 1 day from default 10 days ALTER TABLE kms.oauth_20_access_tokens WITH gc_grace_seconds = '86400';
  2. Aumente os limites de lápides no Cassandra para gerar avisos. Para isso, siga as instruções abaixo:
    • Em um nó do Cassandra, crie ou edite o arquivo $APIGEE_ROOT/customer/application/cassandra.properties.
    • Aumente o limite de aviso de Tombstone para 100 mil em vez dos 10 mil padrão ou defina valores maiores conforme apropriado adicionando a seguinte linha conf_cassandra_tombstone_warn_threshold=100000
    • Verifique se o arquivo acima pertence e pode ser lido pelo usuário do Apigee: chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
    • Reinicie o aplicativo Cassandra no nó: apigee-service apigee-cassandra restart
    • Repita as etapas acima em cada nó do Cassandra, um por um.
42733857: latência na atualização de mapas de chave-valor (KVMs) criptografados

Ao trabalhar com mapas de chave-valor criptografados que contêm um grande número de entradas, os usuários podem enfrentar latências ao adicionar ou atualizar entradas, seja por APIs de gerenciamento ou pelo elemento PUT na política KeyValueMapOperations . A extensão do impacto na performance geralmente é proporcional ao número total de entradas armazenadas no KVM criptografado.

Para reduzir esse problema, recomendamos que os usuários evitem criar KVMs criptografadas com um número excessivo de entradas. Uma solução viável é dividir um KVM grande em vários KVMs menores. Além disso, se o caso de uso permitir, migrar para um KVM não criptografado também pode ser uma estratégia de mitigação eficaz. O Apigee está ciente desse problema e planeja lançar uma correção em um patch futuro.

Callouts do Java

As chamadas Java do cliente que tentam carregar o provedor de criptografia Bouncy Castle usando o nome "BC" podem falhar porque o provedor padrão foi alterado para Bouncy Castle FIPS para oferecer suporte ao FIPS. O novo nome do provedor a ser usado é "BCFIPS".

Edge para nuvem privada 4.53.00
443272053: erros do Datastore em componentes de borda

No Edge para nuvem privada 4.53.00 ou versões mais recentes, um tipo específico de interação entre o Cassandra e os componentes do aplicativo (servidor de gerenciamento, processador de mensagens ou roteador) pode causar erros no armazenamento de dados. Quando isso acontece, você observa registros do seguinte padrão nos registros do sistema do componente de aplicativo específico:

com.datastax.driver.core.exceptions.ProtocolError: An unexpected protocol error occurred on host /WW.XX.YY.ZZ:9042.

Esses erros ocorrem porque os avisos são gerados pelo banco de dados do Cassandra, mas o componente do aplicativo não consegue processá-los.Para evitar ou suprimir avisos, faça isso nos nós do Cassandra. Na maioria das vezes, os avisos são gerados devido a lápides em excesso. Para resolver avisos associados a lápides em excesso, siga uma ou uma combinação das opções listadas abaixo:

  1. Reduza gc_grace_seconds: para a tabela mostrada na mensagem de registro associada ao erro, reduza gc_grace_seconds executando o seguinte comando via cqlsh:
    # Below command sets gc_grace_seconds of kms.oauth_20_access_tokens to 1 day from default 10 days ALTER TABLE kms.oauth_20_access_tokens WITH gc_grace_seconds = '86400';
  2. Aumente os limites de lápides no Cassandra para gerar avisos. Para isso, siga as instruções abaixo:
    • Em um nó do Cassandra, crie ou edite o arquivo $APIGEE_ROOT/customer/application/cassandra.properties.
    • Aumente o limite de aviso de Tombstone para 100 mil em vez dos 10 mil padrão ou defina valores maiores conforme apropriado adicionando a seguinte linha conf_cassandra_tombstone_warn_threshold=100000
    • Verifique se o arquivo acima pertence e pode ser lido pelo usuário do Apigee: chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
    • Reinicie o aplicativo Cassandra no nó: apigee-service apigee-cassandra restart
    • Repita as etapas acima em cada nó do Cassandra, um por um.
42733857: latência na atualização de mapas de chave-valor (KVMs) criptografados

Ao trabalhar com mapas de chave-valor criptografados que contêm um grande número de entradas, os usuários podem enfrentar latências ao adicionar ou atualizar entradas, seja por APIs de gerenciamento ou pelo elemento PUT na política KeyValueMapOperations . A extensão do impacto na performance geralmente é proporcional ao número total de entradas armazenadas no KVM criptografado.

Para reduzir esse problema, recomendamos que os usuários evitem criar KVMs criptografadas com um número excessivo de entradas. Uma solução viável é dividir um KVM grande em vários KVMs menores. Além disso, se o caso de uso permitir, migrar para um KVM não criptografado também pode ser uma estratégia de mitigação eficaz. O Apigee está ciente desse problema e planeja lançar uma correção em um patch futuro.

412696630: falha ao carregar keystores na inicialização

Os componentes edge-message-processor ou edge-router podem não carregar uma ou mais keystores de maneira intermitente na inicialização, resultando em erros de tráfego quando a keystore é usada por um proxy de API ou em um host virtual.

Para reduzir esse problema, faça o seguinte:

  1. Em um nó de processador de mensagens, adicione ou edite o arquivo $APIGEE_ROOT/customer/application/message-processor.properties.
  2. Adicionar propriedade conf_deployment_bootstrap.executor.thread.count=1
  3. Salve o arquivo e verifique se ele está legível e pertence ao usuário do Apigee chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties.
  4. Reinicie o serviço do processador de mensagens apigee-service edge-message-processor restart
  5. Repita as etapas acima em cada nó do processador de mensagens, um por um.
  6. Em um nó de roteador, adicione ou edite o arquivo $APIGEE_ROOT/customer/application/router.properties.
  7. Adicionar propriedade conf_deployment_bootstrap.executor.thread.count=1
  8. Salve o arquivo e verifique se ele está legível e pertence ao usuário do Apigee chown apigee:apigee $APIGEE_ROOT/customer/application/router.properties.
  9. Reinicie o serviço de roteador apigee-service edge-router restart.
  10. Repita as etapas acima em cada nó de roteador, um por vez.
Callouts do Java

As chamadas Java do cliente que tentam carregar o provedor de criptografia Bouncy Castle usando o nome "BC" podem falhar porque o provedor padrão foi alterado para Bouncy Castle FIPS para oferecer suporte ao FIPS. O novo nome do provedor a ser usado é "BCFIPS".

Atualização do Mint do Edge para nuvem privada 4.52.01

Esse problema afeta apenas quem usa o MINT ou tem o MINT ativado nas instalações do Edge para nuvem privada.

Componente afetado:edge-message-processor

Problema:se você tiver a monetização ativada e estiver instalando a versão 4.52.01 como uma instalação nova ou fazendo upgrade de versões anteriores do Private Cloud, vai encontrar um problema com os processadores de mensagens. Haverá um aumento gradual na contagem de linhas de execução abertas, o que vai levar ao esgotamento de recursos. A seguinte exceção é encontrada em edge-message-processor system.log:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Vulnerabilidade do HTTP/2 da Apigee

Uma vulnerabilidade de negação de serviço (DoS) foi descoberta recentemente em várias implementações do protocolo HTTP/2 (CVE-2023-44487), incluindo o Apigee Edge para nuvem privada. A vulnerabilidade pode levar a um DoS da funcionalidade de gerenciamento da API Apigee. Para mais detalhes, consulte o boletim de segurança da Apigee GCP-2023-032.

Os componentes do roteador e do servidor de gerenciamento do Edge para nuvem privada estão expostos à Internet e podem estar vulneráveis. Embora o HTTP/2 esteja ativado na porta de gerenciamento de outros componentes específicos do Edge relativos ao Edge para nuvem privada, nenhum deles está exposto à Internet. Em componentes que não são do Edge, como Cassandra, Zookeeper e outros, o HTTP/2 não está ativado. Recomendamos que você siga as etapas abaixo para resolver a vulnerabilidade do Edge para nuvem privada:

Siga estas etapas se você estiver usando o Edge Private Cloud versões 4.51.00.11 ou mais recentes:

  1. Atualize o servidor de gerenciamento:

    1. Em cada nó do servidor de gerenciamento, abra /opt/apigee/customer/application/management-server.properties
    2. Adicione esta linha ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
    3. Reinicie o componente do servidor de gerenciamento:
      apigee-service edge-management-server restart
  2. Atualize o processador de mensagens:

    1. Em cada nó do processador de mensagens, abra /opt/apigee/customer/application/message-processor.properties
    2. Adicione esta linha ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-message-processor restart
  3. Atualize o roteador:

    1. Em cada nó do roteador, abra /opt/apigee/customer/application/router.properties
    2. Adicione esta linha ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-router restart
  4. Atualizar QPID:

    1. Em cada nó do QPID, abra /opt/apigee/customer/application/qpid-server.properties
    2. Adicione esta linha ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-qpid-server restart
  5. Atualizar o Postgres:

    1. Em cada nó do PostgreSQL, abra /opt/apigee/customer/application/postgres-server.properties
    2. Adicione esta linha ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-postgres-server restart

Siga estas etapas se estiver usando versões do Edge para nuvem privada anteriores à 4.51.00.11:

  1. Atualize o servidor de gerenciamento:

    1. Em cada nó do servidor de gerenciamento, abra /opt/apigee/customer/application/management-server.properties
    2. Adicione as duas linhas a seguir ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicie o componente do servidor de gerenciamento:
      apigee-service edge-management-server restart
  2. Atualize o processador de mensagens:

    1. Em cada nó do processador de mensagens, abra /opt/apigee/customer/application/message-processor.properties
    2. Adicione as duas linhas a seguir ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-message-processor restart
  3. Atualize o roteador:

    1. Em cada nó do roteador, abra /opt/apigee/customer/application/router.properties
    2. Adicione as duas linhas a seguir ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-router restart
  4. Atualizar QPID:

    1. Em cada nó do QPID, abra /opt/apigee/customer/application/qpid-server.properties
    2. Adicione as duas linhas a seguir ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-qpid-server restart
  5. Atualizar o Postgres:

    1. Em cada nó do PostgreSQL, abra /opt/apigee/customer/application/postgres-server.properties
    2. Adicione as duas linhas a seguir ao arquivo de propriedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicie o componente do processador de mensagens:
      apigee-service edge-postgres-server restart
Upgrade do PostgreSQL ao atualizar para a versão 4.52

O Apigee-postgresql está com problemas ao fazer upgrade do Edge para nuvem privada versão 4.50 ou 4.51 para a versão 4.52. Os problemas ocorrem principalmente quando o número de tabelas é maior que 500.

Para verificar o número total de tabelas no Postgres, execute a consulta SQL abaixo:

select count(*) from information_schema.tables

Solução alternativa:ao atualizar o Apigee Edge 4.50.00 ou 4.51.00 para 4.52.00, execute a etapa preliminar antes de fazer upgrade do Apigee-postgresql.

Política LDAP

149245401: as configurações do pool de conexões LDAP para JNDI configuradas pelo recurso LDAP não são refletidas, e os padrões do JNDI causam conexões de uso único a cada vez. Como resultado, as conexões são abertas e fechadas a cada vez para uso único, criando um grande número de conexões por hora com o servidor LDAP.

Alternativa:

Para mudar as propriedades do pool de conexões LDAP, siga estas etapas e faça uma mudança global em todas as políticas do LDAP.

  1. Crie um arquivo de propriedades de configuração se ele ainda não existir:
    /opt/apigee/customer/application/message-processor.properties
  2. Adicione o seguinte ao arquivo (substitua os valores das propriedades da Java Naming and Directory Interface [JNDI] com base no requisito de configuração do recurso LDAP).
    bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
    -Dcom.sun.jndi.ldap.connect.pool.prefsize=2
    -Dcom.sun.jndi.ldap.connect.pool.initsize=2
    -Dcom.sun.jndi.ldap.connect.pool.timeout=120000
    -Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
  3. Verifique se o arquivo /opt/apigee/customer/application/message-processor.properties pertence a apigee:apigee.
  4. Reinicie cada processador de mensagens.

Para verificar se as propriedades JNDI do pool de conexões estão funcionando, faça um tcpdump para observar o comportamento do pool de conexões LDAP ao longo do tempo.

Alta latência de processamento da solicitação

139051927: altas latências de processamento de proxy encontradas no processador de mensagens estão afetando todos os proxies de API. Os sintomas incluem atrasos de 200 a 300 ms nos tempos de processamento em relação aos tempos normais de resposta da API e podem ocorrer aleatoriamente, mesmo com TPS baixo. Isso pode ocorrer quando há mais de 50 servidores de destino em que um processador de mensagens faz conexões.

Causa principal:os processadores de mensagens mantêm um cache que mapeia o URL do servidor de destino para o objeto HTTPClient para conexões de saída com servidores de destino. Por padrão, essa configuração é definida como 50, o que pode ser muito baixo para a maioria das implantações. Quando uma implantação tem várias combinações de organização/ambiente em uma configuração e um grande número de servidores de destino que excedem 50 no total, os URLs do servidor de destino são removidos do cache, causando latências.

Validação:para determinar se a remoção do URL do servidor de destino está causando o problema de latência, pesquise nos system.logs do processador de mensagens a palavra-chave "onEvict" ou "Eviction". A presença deles nos registros indica que os URLs do servidor de destino estão sendo removidos do cache HTTPClient porque o tamanho do cache é muito pequeno.

Solução alternativa:Para as versões 19.01 e 19.06 do Edge para nuvem privada, é possível editar e configurar o cache HTTPClient, /opt/apigee/customer/application/message-processor.properties:

conf/http.properties+HTTPClient.dynamic.cache.elements.size=500

Em seguida, reinicie o processador de mensagens. Faça as mesmas mudanças em todos os processadores de mensagens.

O valor 500 é um exemplo. O valor ideal para sua configuração precisa ser maior que o número de servidores de destino a que o processador de mensagens se conectaria. Não há efeitos colaterais ao definir essa propriedade como mais alta, e o único efeito seria a melhoria nos tempos de processamento de solicitações de proxy do processador de mensagens.

Observação:o Edge para nuvem privada versão 50.00 tem a configuração padrão de 500.

Várias entradas para mapas de chave-valor

157933959: inserções e atualizações simultâneas no mesmo mapa de chave-valor (KVM) no escopo da organização ou do ambiente causam dados inconsistentes e perda de atualizações.

Observação:essa limitação se aplica apenas ao Edge para nuvem privada. O Edge para nuvem pública e híbrida não têm essa limitação.

Para uma solução alternativa no Edge para nuvem privada, crie o KVM no escopo apiproxy.