Problèmes connus concernant Apigee

Vous consultez la documentation Apigee Edge.
Accéder à la documentation d'Apigee X
en savoir plus

Les sections suivantes décrivent les problèmes connus liés à Apigee. Dans la plupart des cas, les problèmes listés seront résolus dans une prochaine version.

Problèmes connus de divers problèmes liés à Edge

Les sections suivantes décrivent divers problèmes connus concernant Edge.

Quartier Problèmes connus
L'expiration du cache entraîne une valeur cachehit incorrecte

Lorsque la variable de flux cachehit est utilisée après la règle LookupCache, en raison de la manière dont les points de débogage sont distribués pour le comportement asynchrone, LookupPolicy renseigne l'objet DebugInfo avant l'exécution de l'appel, ce qui génère une erreur.

Solution:répétez le processus (effectuez un deuxième appel) juste après le premier appel.

La définition de la règle InvalidateCache PurgeChildEntries sur "true" ne fonctionne pas correctement

Si vous définissez PurgeChildEntries dans la règle InvalidateCache, seules les valeurs de l'élément KeyFragment seront supprimées définitivement, mais l'ensemble du cache sera effacé.

Solution:Utilisez la règle KeyValueMapOperations pour itérer la gestion des versions du cache et contourner le besoin d'invalidation du cache.

Problèmes connus avec l'interface utilisateur Edge

Les sections suivantes décrivent les problèmes connus liés à l'interface utilisateur Edge.

Zone Problèmes connus
Impossible d'accéder à la page d'administration de la zone d'authentification unique Edge à partir de la barre de navigation une fois l'organisation associée à une zone d'identité Lorsque vous connectez une organisation à une zone d'identité, vous ne pouvez plus accéder à la page Administration des zones d'authentification unique d'Edge dans la barre de navigation de gauche en sélectionnant Administrateur > Authentification unique. Pour contourner ce problème, accédez directement à la page à l'aide de l'URL suivante: https://apigee.com/sso.

Problèmes connus concernant le portail intégré

Les sections suivantes décrivent les problèmes connus liés au portail intégré.

Zone Problèmes connus
SmartDocs
  • Apigee Edge est compatible avec la spécification OpenAPI 3.0 lorsque vous créez des spécifications à l'aide de l'éditeur de spécifications et que vous publiez des API à l'aide de SmartDocs sur votre portail, bien qu'un sous-ensemble de fonctionnalités ne soit pas encore pris en charge.

    Par exemple, les fonctionnalités suivantes de la spécification OpenAPI 3.0 ne sont pas encore compatibles :

    • Propriétés allOf permettant de combiner et d'étendre des schémas
    • Références distantes

    Si une fonctionnalité non compatible est référencée dans la spécification OpenAPI, dans certains cas, les outils ignorent la fonctionnalité, mais affichent toujours la documentation de référence de l'API. Dans d'autres cas, une fonctionnalité non compatible entraînera des erreurs qui empêchent l'affichage de la documentation de référence de l'API. Dans les deux cas, vous devez modifier la spécification OpenAPI pour éviter d'utiliser la fonctionnalité non compatible jusqu'à ce qu'elle soit compatible avec une prochaine version.

    Remarque: Étant donné que l'éditeur de spécifications est moins restrictif que SmartDocs lors de l'affichage de la documentation de référence de l'API, vous pouvez constater des résultats différents entre les outils.

  • Lorsque vous utilisez cette API dans le portail, l'en-tête Accept est défini sur application/json, quelle que soit la valeur définie pour consumes dans la spécification OpenAPI.
Fournisseur d'identité SAML La déconnexion unique (SLO) avec le fournisseur d'identité SAML n'est pas acceptée pour les domaines personnalisés. Pour activer un domaine personnalisé avec un fournisseur d'identité SAML, laissez le champ URL de déconnexion vide lorsque vous configurez les paramètres SAML.
Administrateur du portail
  • Pour le moment, les mises à jour simultanées du portail (telles que les modifications de pages, de thèmes, de CSS ou de scripts) par plusieurs utilisateurs ne sont pas acceptées.
  • Si vous supprimez une page de documentation de référence de l'API à partir du portail, vous ne pouvez pas la recréer. Vous devrez supprimer et rajouter le produit d'API, puis générer à nouveau la documentation de référence de l'API.
  • Lors de la configuration de la stratégie de sécurité du contenu, l'application complète des modifications peut prendre jusqu'à 15 minutes.
  • Lorsque vous personnalisez le thème de votre portail, un délai de cinq minutes peut être nécessaire pour que les modifications soient appliquées.
Fonctionnalités du portail
  • La recherche sera intégrée au portail intégré dans une prochaine version.

Problèmes connus avec Edge pour le cloud privé

Les sections suivantes décrivent les problèmes connus liés à Edge pour le cloud privé.

Zone Problèmes connus
4.53.00 SSO et installation de la nouvelle UI

Ce problème affecte les utilisateurs qui tentent d'installer l'authentification unique ou la nouvelle interface utilisateur sur RHEL 8 compatible avec FIPS sur Edge pour Private Cloud 4.53.00.

Composant concerné:SSO et nouvelle interface utilisateur

Problème:si vous installez l'authentification unique ou la nouvelle interface utilisateur sur le système d'exploitation RHEL 8 compatible avec FIPS, l'installation échoue.

Solution de contournement:nous vous recommandons d'utiliser l'UI classique, qui est complète et répond aux besoins fonctionnels de l'UI.

Mise à jour Mint pour Edge pour Private Cloud 4.52.01

Ce problème ne concerne que les utilisateurs qui utilisent MINT ou qui l'ont activé dans les installations Edge pour le cloud privé.

Composant concerné:edge-message-processor

Problème:si la monétisation est activée et que vous installez la version 4.52.01 en tant que nouvelle installation ou que vous effectuez une mise à niveau à partir de versions précédentes du cloud privé, vous rencontrerez un problème avec les processeurs de messages. Le nombre de threads ouverts augmente progressivement, ce qui entraîne l'épuisement des ressources. L'exception suivante s'affiche dans le fichier system.log du processeur de messages Edge:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Vulnérabilité HTTP/2 d'Apigee

Une faille par déni de service (DoS) a récemment été détectée dans plusieurs implémentations du protocole HTTP/2 (CVE-2023-44487), y compris dans Apigee Edge pour le cloud privé. La faille pourrait entraîner un déni de service de la fonctionnalité de gestion d'API Apigee. Pour en savoir plus, consultez le bulletin de sécurité Apigee GCP-2023-032.

Les composants du routeur et du serveur de gestion Edge for Private Cloud sont exposés sur Internet et peuvent être vulnérables. Bien que HTTP/2 soit activé sur le port de gestion d'autres composants propres à Edge de Edge pour Private Cloud, aucun de ces composants n'est exposé à Internet. Sur les composants autres que Edge, tels que Cassandra, Zookeeper et d'autres, HTTP/2 n'est pas activé. Nous vous recommandons de suivre la procédure ci-dessous pour résoudre la faille Edge pour le cloud privé:

Suivez cette procédure si vous utilisez Edge Private Cloud version 4.51.00.11 ou ultérieure:

  1. Mettez à jour le serveur de gestion:

    1. Sur chaque nœud de serveur de gestion, ouvrez /opt/apigee/customer/application/management-server.properties.
    2. Ajoutez la ligne suivante au fichier de propriétés:
      conf_webserver_http2.enabled=false
    3. Redémarrez le composant du serveur de gestion:
      apigee-service edge-management-server restart
  2. Mettez à jour le processeur de messages:

    1. Sur chaque nœud de processeur de messages, ouvrez /opt/apigee/customer/application/message-processor.properties.
    2. Ajoutez la ligne suivante au fichier de propriétés:
      conf_webserver_http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-message-processor restart
  3. Mettez à jour le routeur:

    1. Sur chaque nœud de routeur, ouvrez /opt/apigee/customer/application/router.properties.
    2. Ajoutez la ligne suivante au fichier de propriétés:
      conf_webserver_http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-router restart
  4. Mise à jour du QPID:

    1. Sur chaque nœud QPID, ouvrez /opt/apigee/customer/application/qpid-server.properties.
    2. Ajoutez la ligne suivante au fichier de propriétés:
      conf_webserver_http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-qpid-server restart
  5. Mettez à jour Postgres:

    1. Sur chaque nœud Postgres, ouvrez /opt/apigee/customer/application/postgres-server.properties
    2. Ajoutez la ligne suivante au fichier de propriétés:
      conf_webserver_http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-postgres-server restart

Suivez cette procédure si vous utilisez des versions d'Edge pour le cloud privé antérieures à 4.51.00.11:

  1. Mettez à jour le serveur de gestion:

    1. Sur chaque nœud de serveur de gestion, ouvrez /opt/apigee/customer/application/management-server.properties.
    2. Ajoutez les deux lignes suivantes au fichier de propriétés:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Redémarrez le composant du serveur de gestion:
      apigee-service edge-management-server restart
  2. Mettez à jour le processeur de messages:

    1. Sur chaque nœud de processeur de messages, ouvrez /opt/apigee/customer/application/message-processor.properties.
    2. Ajoutez les deux lignes suivantes au fichier de propriétés:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-message-processor restart
  3. Mettez à jour le routeur:

    1. Sur chaque nœud de routeur, ouvrez /opt/apigee/customer/application/router.properties.
    2. Ajoutez les deux lignes suivantes au fichier de propriétés:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-router restart
  4. Mise à jour du QPID:

    1. Sur chaque nœud QPID, ouvrez /opt/apigee/customer/application/qpid-server.properties.
    2. Ajoutez les deux lignes suivantes au fichier de propriétés:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-qpid-server restart
  5. Mettez à jour Postgres:

    1. Sur chaque nœud Postgres, ouvrez /opt/apigee/customer/application/postgres-server.properties
    2. Ajoutez les deux lignes suivantes au fichier de propriétés:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Redémarrez le composant Message Processor:
      apigee-service edge-postgres-server restart
Mise à niveau de Postgresql lors de la mise à jour vers la version 4.52

Apigee-postgresql rencontre des problèmes lors de la mise à niveau d'Edge for Private Cloud version 4.50 ou 4.51 vers la version 4.52. Les problèmes surviennent principalement lorsque le nombre de tables est supérieur à 500.

Vous pouvez vérifier le nombre total de tables dans Postgres en exécutant la requête SQL ci-dessous:

select count(*) from information_schema.tables

Solution de contournement:Lorsque vous mettez à niveau Apigee Edge 4.50.00 ou 4.51.00 vers la version 4.52.00, veillez à effectuer l' étape préliminaire avant de mettre à niveau Apigee-postgresql.

apigee-mirror sur RHEL 8.0

apigee-mirror ne fonctionne pas sous Red Hat Enterprise Linux (RHEL) 8.0.

Solution de contournement:pour contourner ce problème, installez apigee-mirror sur un serveur exécutant une version antérieure de RHEL ou un autre système d'exploitation compatible pour Apigee. Vous pouvez ensuite utiliser le miroir pour ajouter des packages, même si vous avez installé Apigee sur des serveurs RHEL 8.0.

Règle LDAP

149245401: les paramètres du pool de connexions LDAP pour JNDI configurés via la ressource LDAP ne sont pas reflétés, et les valeurs par défaut de JNDI entraînent des connexions à usage unique à chaque fois. Par conséquent, les connexions sont ouvertes et fermées à chaque fois pour une seule utilisation, ce qui crée un grand nombre de connexions par heure au serveur LDAP.

Solution :

Pour modifier les propriétés du pool de connexions LDAP, procédez comme suit pour définir une modification globale pour toutes les règles LDAP.

  1. Créez un fichier de propriétés de configuration s'il n'existe pas déjà:
    /opt/apigee/customer/application/message-processor.properties
  2. Ajoutez les éléments suivants au fichier (remplacez les valeurs des propriétés JNDI (Java Naming and Directory Interface) en fonction de vos exigences de configuration des ressources 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. Assurez-vous que le fichier /opt/apigee/customer/application/message-processor.properties appartient à apigee:apigee.
  4. Redémarrez chaque processeur de messages.

Pour vérifier que les propriétés JNDI de votre pool de connexions prennent effet, vous pouvez effectuer un tcpdump pour observer le comportement du pool de connexions LDAP au fil du temps.

Latence de traitement des requêtes élevée

139051927: Les latences de traitement des proxys élevées détectées dans le processeur de messages affectent tous les proxys d'API. Les symptômes incluent des délais de traitement de 200 à 300 ms par rapport aux temps de réponse normaux de l'API et peuvent se produire de manière aléatoire, même avec un TPS faible. Cela peut se produire lorsque plus de 50 serveurs cibles sont connectés à un processeur de messages.

Cause du problème:les processeurs de messages conservent un cache qui met en correspondance l'URL du serveur cible avec l'objet HTTPClient pour les connexions sortantes vers les serveurs cibles. Par défaut, ce paramètre est défini sur 50, ce qui peut être trop faible pour la plupart des déploiements. Lorsqu'un déploiement comporte plusieurs combinaisons org/env dans une configuration et un grand nombre de serveurs cibles dépassant 50 au total, les URL des serveurs cibles sont constamment supprimées du cache, ce qui entraîne des latences.

Validation:pour déterminer si l'éviction de l'URL du serveur cible est à l'origine du problème de latence, recherchez le mot clé "onEvict" ou "Eviction" dans les journaux système du processeur de messages. Leur présence dans les journaux indique que les URL de serveur cible sont supprimées du cache HTTPClient, car sa taille est trop faible.

Solution de contournement:pour les versions 19.01 et 19.06 d'Edge for Private Cloud, vous pouvez modifier et configurer le cache HTTPClient, /opt/apigee/customer/application/message-processor.properties:

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

Redémarrez ensuite le processeur de messages. Apportez les mêmes modifications pour tous les processeurs de messages.

La valeur 500 est un exemple. La valeur optimale pour votre configuration doit être supérieure au nombre de serveurs cibles auxquels le processeur de messages se connecterait. Le fait de définir cette propriété sur une valeur plus élevée n'a aucun effet secondaire. Le seul impact est une amélioration des délais de traitement des requêtes de proxy du processeur de messages.

Remarque:La valeur par défaut de la version 50.00 d'Edge pour le cloud privé est 500.

Plusieurs enregistrements pour les mappages clé-valeur

157933959: Les insertions et mises à jour simultanées d'un même mappage clé-valeur (KVM) défini au niveau de l'organisation ou de l'environnement entraînent des données incohérentes et des mises à jour perdues.

Remarque:Cette limite ne s'applique qu'à Edge pour le cloud privé. Edge pour le cloud public et hybride ne sont pas soumis à cette limitation.

Pour contourner le problème dans Edge pour le cloud privé, créez le KVM au niveau de l'étendue apiproxy.