Problemas conocidos con Apigee

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

En las siguientes secciones, se describen los problemas conocidos de Apigee. En la mayoría de los casos, los problemas mencionados se solucionará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 Errores conocidos
Actualización Mint de OPDK 4.52.01

Este problema solo afecta a quienes usan MINT o tienen MINT habilitado en Edge para instalaciones de 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 la nube privada, tendrás un problema con los procesadores de mensajes. El recuento de subprocesos abiertos aumentará gradualmente, lo que provocará el agotamiento de los recursos. La siguiente excepción se ve en Edge-message-Processor system.log:

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

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

Los componentes del router y del 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 de Edge para la nube privada, ninguno de esos componentes está expuesto a Internet. En los componentes que no son de Edge, como Cassandra, Zookeeper y otros, HTTP/2 no está habilitado. Te recomendamos que sigas estos pasos para abordar la vulnerabilidad de Edge para la nube privada:

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

  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 la siguiente 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 la siguiente 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 la siguiente 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 QPID:

    1. En cada nodo de QPID, abre /opt/apigee/customer/application/qpid-server.properties.
    2. Agrega la siguiente 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 la siguiente 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 Edge para versiones de nube privada anteriores a 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 QPID:

    1. En cada nodo de 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 con la actualización de Edge para la nube privada a la versión 4.50 o 4.51 a la 4.52. Los problemas se producen principalmente cuando la cantidad de tablas es mayor que 500.

Puedes verificar la cantidad total de tablas en Postgres ejecutando 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: Como solución alternativa, instala apigee-mirror en un servidor que ejecute una versión anterior de RHEL o algún otro sistema operativo compatible con Apigee. Luego, puedes usar la duplicación para agregar paquetes, incluso si instalaste Apigee en los servidores RHEL 8.0.

Política de LDAP

149245401: No se refleja la configuración del grupo de conexiones LDAP para JNDI configurada a través del recurso LDAP, y los valores predeterminados de JNDI generan 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 al servidor LDAP por hora.

Solución alternativa:

Para cambiar las propiedades del grupo de conexiones LDAP, sigue estos pasos a fin de 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 Java Naming y Directory Interface (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 de JNDI del grupo de conexiones estén surtiendo efecto, puedes realizar un tcpdump a fin de observar el comportamiento del grupo de conexiones LDAP a lo largo del tiempo.

Alta latencia de procesamiento de solicitudes

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 retrasos de 200 a 300 ms en los tiempos de procesamiento durante 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 realiza 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, lo que puede ser demasiado bajo para la mayoría de las implementaciones. Cuando una implementación tiene varias combinaciones org/env en una configuración y tiene una gran cantidad de servidores de destino que superan los 50 en total, las URLs del servidor de destino se siguen expulsando de la caché, lo que causa latencias.

Validación: Para determinar si la expulsión de la URL del servidor de destino causa el problema de latencia, busca la palabra clave “onEvict” o “Expulsión” en el archivo system.logs de Message Processor. Su presencia en los registros indica que las URLs del servidor de destino se están expulsando de la caché del cliente HTTP porque el tamaño de la caché es demasiado pequeño.

Solución: 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 superior a la cantidad de servidores de destino a los que se conectaría el procesador de mensajes. La configuración de esta propiedad no tiene efectos secundarios y el único impacto sería la mejora de los tiempos de procesamiento de las solicitudes del proxy del procesador de mensajes.

Nota: La versión 50.00 de Edge para la nube privada tiene la configuración predeterminada de 500.

Varias entradas para mapas de pares clave-valor

157933959: Las inserciones y actualizaciones simultáneas en el mismo mapa de pares clave-valor (KVM) con alcance a nivel de la organización o del entorno causan datos incoherentes y actualizaciones perdidas.

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

Si deseas obtener una solución alternativa en Edge para la nube privada, crea el KVM en el permiso apiproxy.