Problemas conocidos con Apigee

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

En las siguientes secciones, se describen los problemas conocidos de Apigee. En la mayoría de los casos, los problemas enumerados se corregirán en una versión futura.

Otros problemas conocidos de Edge

En las siguientes secciones, se describen varios problemas conocidos con Edge.

Área Errores conocidos
El vencimiento de la caché genera un valor de cachehit incorrecto

Cuando la variable de flujo cachehit se usa después de la política LookupCache, debido a la forma en que se despachan los puntos de depuración para comportamiento asíncrono, LookupPolicy propaga el objeto DebugInfo antes de que se ejecute la devolución de llamada, lo que genera un error.

Solución alternativa: Repite el proceso (haz una segunda llamada) justo después de la primera llamada.

No funciona correctamente la configuración de la política InvalidateCache PurgeChildEntries como verdadera.

Si configuras PurgeChildEntries en la política InvalidateCache, solo se deberían borrar definitivamente los valores del elemento KeyFragment, pero se borra toda la caché.

Solución alternativa: Usa la política de KeyValueMapOperations para iterar el control de versiones de la caché y evitar la necesidad de invalidar la caché.

Problemas conocidos con la IU de Edge

En las siguientes secciones, se describen los problemas conocidos de la IU de Edge.

Área Errores conocidos
No puede acceder a la página Administración de zonas de SSO de Edge desde la barra de navegación después de que la organización se asigna a una zona de identidad Cuando conectas una organización a una zona de identidad, ya no puedes acceder a la página Administración de zonas de SSO de Edge desde la barra de navegación izquierda cuando seleccionas Administrador > SSO. Como solución alternativa, navega a la página directamente con la siguiente URL: https://apigee.com/sso.

Problemas conocidos con el portal integrado

En las siguientes secciones, se describen los problemas conocidos con el portal integrado.

Área Errores conocidos
SmartDocs
  • Apigee Edge admite la especificación 3.0 de OpenAPI cuando creas especificaciones con el editor de especificaciones y publicas APIs con SmartDocs en tu portal, aunque aún no se admite un subconjunto de funciones.

    Por ejemplo, aún no se admiten las siguientes características de OpenAPI Specification 3.0:

    • Propiedades allOf para combinar y extender esquemas
    • Referencias remotas

    Si se hace referencia a una función no compatible en tu especificación de OpenAPI, en algunos casos, las herramientas la ignorarán, pero aun así renderizarán la documentación de referencia de la API. En otros casos, una función no compatible generará errores que impedirán el procesamiento correcto de la documentación de referencia de la API. En cualquier caso, deberás modificar tu especificación de OpenAPI para evitar el uso de la característica no compatible hasta que sea compatible con una versión futura.

    Nota: Debido a que el editor de especificaciones es menos restrictivo que SmartDocs cuando se procesa la documentación de referencia de la API, es posible que experimentes resultados diferentes entre las herramientas.

  • Cuando se usa Probar esta API en el portal, el encabezado Accept se configura como application/json, sin importar el valor establecido para consumes en la OpenAPI Specification.
Proveedor de identidad de SAML El cierre de sesión único (SLO) con el proveedor de identidad SAML no es compatible con los dominios personalizados. Para habilitar un dominio personalizado con un proveedor de identidad de SAML, deja el campo URL de cierre de sesión en blanco cuando establezcas la configuración de SAML.
Administrador del portal
  • En este momento, no se admiten las actualizaciones simultáneas del portal (como ediciones a las páginas, el tema, CSS o las secuencias de comandos).
  • Si borras una página de documentación de referencia de la API del portal, no hay forma de volver a crearla; deberás borrar y volver a agregar el producto de API, y volver a generar la documentación de referencia de la API.
  • Cuando configures la política de seguridad del contenido, es posible que los cambios tarden hasta 15 minutos en aplicarse por completo.
  • Cuando personalizas el tema de tu portal, los cambios pueden tardar hasta 5 minutos en aplicarse por completo.
Funciones del portal
  • La Búsqueda se integrará en el portal integrado en una versión futura.

Problemas conocidos con Edge para la nube privada

En las siguientes secciones, se describen los problemas conocidos de Edge para la nube privada.

Área Problemas conocidos
Función de router de Edge 4.53.00

Es posible que apigee-nginx en los nodos de router de borde informe problemas con la vinculación de puertos o la finalización del proceso de nginx.

Componente afectado: Router de borde

Problema: Estos problemas pueden deberse a errores en la configuración de las capacidades durante la instalación de apigee-nginx.

Solución: Puedes configurar las funciones de forma manual si ejecutas el siguiente comando:

setcap CAP_NET_BIND_SERVICE=+ep CAP_KILL=+ep /opt/nginx/sbin/nginx
SSO 4.53.00 y nueva instalación de la IU

Este problema afecta a los usuarios que intentan instalar el SSO o la nueva IU en RHEL 8 habilitado para FIPS en Edge para la nube privada 4.53.00.

Componente afectado: SSO y nueva IU

Problema: Si instalas el SSO o la nueva IU en el sistema operativo RHEL 8 habilitado para FIPS, la instalación falla.

Solución alternativa: Te recomendamos que uses la IU clásica, que tiene todas las funciones y satisface las necesidades de funcionalidad de la IU.

Actualización de Mint a Edge para la nube privada 4.52.01

Este problema solo afecta a quienes usan MINT o tienen MINT habilitado en las instalaciones de Edge para una nube privada.

Componente afectado: edge-message-processor

Problema: Si tienes habilitada la monetización y estás instalando la versión 4.52.01 como una instalación nueva o actualizando desde versiones anteriores de Private Cloud, se producirá un problema con los procesadores de mensajes. Se producirá un aumento gradual en el recuento de subprocesos abiertos, lo que provocará el agotamiento de los recursos. En system.log de edge-message-processor, se ve la siguiente excepción:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Vulnerabilidad de HTTP/2 de Apigee

Hace poco tiempo, se descubrió una vulnerabilidad de denegación del servicio (DoS) en varias implementaciones del protocolo HTTP/2 (CVE-2023-44487), incluido Apigee Edge for Private Cloud. La vulnerabilidad podría provocar un DoS de la funcionalidad de administración de la API de Apigee. Para obtener más detalles, consulta el boletín de seguridad de Apigee GCP-2023-032.

Los componentes del router y el servidor de administración de Edge para la nube privada están expuestos a Internet y pueden ser vulnerables. Aunque HTTP/2 está habilitado en el puerto de administración de otros componentes específicos de Edge para la nube privada, ninguno de esos componentes está expuesto a Internet. En componentes que no son de Edge, como Cassandra, Zookeeper y otros, HTTP/2 no está habilitado. Te recomendamos que sigas los siguientes pasos para abordar la vulnerabilidad de Edge para la nube privada:

Sigue estos pasos si usas la versión 4.51.00.11 de Edge Private Cloud o una posterior:

  1. Actualiza el servidor de administración:

    1. En cada nodo del servidor de administración, abre /opt/apigee/customer/application/management-server.properties.
    2. Agrega esta línea al archivo de propiedades:
      conf_webserver_http2.enabled=false
    3. Reinicia el componente del servidor de administración:
      apigee-service edge-management-server restart
  2. Actualiza el procesador de mensajes:

    1. En cada nodo del procesador de mensajes, abre /opt/apigee/customer/application/message-processor.properties.
    2. Agrega esta línea al archivo de propiedades:
      conf_webserver_http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-message-processor restart
  3. Actualiza el router:

    1. En cada nodo del router, abre /opt/apigee/customer/application/router.properties.
    2. Agrega esta línea al archivo de propiedades:
      conf_webserver_http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-router restart
  4. Actualiza el QPID:

    1. En cada nodo QPID, abre /opt/apigee/customer/application/qpid-server.properties.
    2. Agrega esta línea al archivo de propiedades:
      conf_webserver_http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-qpid-server restart
  5. Actualiza Postgres:

    1. En cada nodo de Postgres, abre /opt/apigee/customer/application/postgres-server.properties.
    2. Agrega esta línea al archivo de propiedades:
      conf_webserver_http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-postgres-server restart

Sigue estos pasos si usas versiones de Edge para una nube privada anteriores a la 4.51.00.11:

  1. Actualiza el servidor de administración:

    1. En cada nodo del servidor de administración, abre /opt/apigee/customer/application/management-server.properties.
    2. Agrega las siguientes dos líneas al archivo de propiedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicia el componente del servidor de administración:
      apigee-service edge-management-server restart
  2. Actualiza el procesador de mensajes:

    1. En cada nodo del procesador de mensajes, abre /opt/apigee/customer/application/message-processor.properties.
    2. Agrega las siguientes dos líneas al archivo de propiedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-message-processor restart
  3. Actualiza el router:

    1. En cada nodo del router, abre /opt/apigee/customer/application/router.properties.
    2. Agrega las siguientes dos líneas al archivo de propiedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-router restart
  4. Actualiza el QPID:

    1. En cada nodo QPID, abre /opt/apigee/customer/application/qpid-server.properties.
    2. Agrega las siguientes dos líneas al archivo de propiedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-qpid-server restart
  5. Actualiza Postgres:

    1. En cada nodo de Postgres, abre /opt/apigee/customer/application/postgres-server.properties.
    2. Agrega las siguientes dos líneas al archivo de propiedades:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Reinicia el componente del procesador de mensajes:
      apigee-service edge-postgres-server restart
Actualización de Postgresql cuando se actualiza a la versión 4.52

Apigee-postgresql tiene problemas para actualizar de la versión 4.50 o 4.51 de Edge para la nube privada a la versión 4.52. Los problemas ocurren principalmente cuando la cantidad de tablas es superior a 500.

Para verificar la cantidad total de tablas en Postgres, ejecuta la siguiente consulta en SQL:

select count(*) from information_schema.tables

Solución: Cuando actualices Apigee Edge 4.50.00 o 4.51.00 a 4.52.00, asegúrate de realizar el paso preliminar antes de actualizar Apigee-postgresql.

apigee-mirror en RHEL 8.0

apigee-mirror no funciona en Red Hat Enterprise Linux (RHEL) 8.0.

Solución alternativa: Como solución alternativa, instala apigee-mirror en un servidor que ejecute una versión anterior de RHEL o de otro sistema operativo compatible para Apigee. Luego, puedes usar el espejo para agregar paquetes, incluso si instalaste Apigee en servidores RHEL 8.0.

Política de LDAP

149245401: No se refleja la configuración del grupo de conexiones de LDAP para JNDI configurada a través del recurso LDAP, y los valores predeterminados de JNDI causan conexiones de un solo uso cada vez. Como resultado, las conexiones se abren y cierran cada vez para un solo uso, lo que crea una gran cantidad de conexiones por hora al servidor LDAP.

Solución alternativa:

Para cambiar las propiedades del grupo de conexiones de LDAP, sigue estos pasos para establecer un cambio global en todas las políticas de LDAP.

  1. Crea un archivo de propiedades de configuración si aún no existe:
    /opt/apigee/customer/application/message-processor.properties
  2. Agrega lo siguiente al archivo (reemplaza los valores de las propiedades de la interfaz de nombres y directorios de Java (JNDI) según el requisito de configuración de recursos de 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. Asegúrate de que el archivo /opt/apigee/customer/application/message-processor.properties sea propiedad de apigee:apigee.
  4. Reinicia cada procesador de mensajes.

Para verificar que las propiedades JNDI del grupo de conexiones se apliquen, puedes realizar un tcpdump para observar el comportamiento del grupo de conexiones LDAP a lo largo del tiempo.

Latencia de procesamiento de solicitudes alta

139051927: Las latencias de procesamiento de proxy altas que se encuentran en el procesador de mensajes afectan a todos los proxies de API. Los síntomas incluyen demoras de 200 a 300 ms en los tiempos de procesamiento en comparación con los tiempos de respuesta normales de la API y pueden ocurrir de forma aleatoria, incluso con un TPS bajo. Esto puede ocurrir cuando hay más de 50 servidores de destino en los que un procesador de mensajes establece conexiones.

Causa raíz: Los procesadores de mensajes mantienen una caché que asigna la URL del servidor de destino al objeto HTTPClient para las conexiones salientes a los servidores de destino. De forma predeterminada, este parámetro de configuración se establece en 50, que puede ser demasiado bajo para la mayoría de las implementaciones. Cuando una implementación tiene varias combinaciones de org/env en una configuración y tiene una gran cantidad de servidores de destino que superan los 50 en total, las URLs de los servidores de destino se siguen expulsando de la caché, lo que genera latencias.

Validación: Para determinar si la expulsión de la URL del servidor de destino está causando el problema de latencia, busca la palabra clave "onEvict" o "Eviction" en system.logs del procesador de mensajes. Su presencia en los registros indica que las URLs del servidor de destino se desalojan de la caché de HTTPClient porque el tamaño de la caché es demasiado pequeño.

Solución alternativa: En las versiones 19.01 y 19.06 de Edge para la nube privada, puedes editar y configurar la caché de HTTPClient, /opt/apigee/customer/application/message-processor.properties:

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

Luego, reinicia el procesador de mensajes. Realiza los mismos cambios para todos los procesadores de mensajes.

El valor 500 es un ejemplo. El valor óptimo para tu configuración debe ser mayor que la cantidad de servidores de destino a los que se conectaría el procesador de mensajes. No hay efectos secundarios si configuras esta propiedad en un valor más alto, y el único efecto sería un mejor tiempo de procesamiento de solicitudes de proxy del procesador de mensajes.

Nota: La versión 50.00 de Edge para la nube privada tiene el parámetro de configuración predeterminado de 500.

Varias entradas para mapas de par clave-valor

157933959: Las inserciones y actualizaciones simultáneas en el mismo mapa de par clave-valor (KVM) centrado en el nivel de la organización o el entorno provocan datos incoherentes y actualizaciones perdidas.

Nota: Esta limitación solo se aplica a Edge para la nube privada. Edge para la nube pública y la híbrida no tienen esta limitación.

Para obtener una solución alternativa en Edge para la nube privada, crea el KVM en el alcance de apiproxy.