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.

Problemas conocidos diversos de Edge

En las siguientes secciones, se describen diversos problemas conocidos de Edge.

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

Cuando se usa la variable de flujo cachehit después de la política LookupCache, debido a la forma en que se despachan los puntos de depuración para el 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 (realiza una segunda llamada) justo después de la primera.

Establecer la política InvalidateCache PurgeChildEntries como verdadera no funciona correctamente.

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

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

Las solicitudes de implementación simultáneas para un proxy de API o SharedFlow pueden dar como resultado un estado incoherente en el servidor de administración en el que se muestran varias revisiones como implementadas.

Esto puede ocurrir, por ejemplo, cuando se realizan ejecuciones simultáneas de una canalización de implementación de CI/CD mediante diferentes revisiones. Para evitar este problema, evita implementar proxies de API o SharedFlows antes de que se complete la implementación actual.

Solución alternativa: Evita las implementaciones simultáneas de proxy de API o SharedFlow.

Problemas conocidos con la IU de Edge

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

Área Problemas 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 del portal integrado.

Área Problemas conocidos
SmartDocs
  • Apigee Edge admite la especificación de OpenAPI 3.0 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 funciones de la especificación OpenAPI 3.0:

    • Propiedades allOf para combinar y extender esquemas
    • Referencias remotas

    En caso de que se haga referencia a una función no admitida en la especificación de OpenAPI, en algunos casos las herramientas la ignorarán la función, pero renderizarán la documentación de referencia de la API. En otros casos, una función no admitida generará errores que impiden la correcta renderización de la documentación de referencia de la API. En cualquier caso, deberás modificar la especificación de OpenAPI para evitar el uso de la función no compatible hasta que se admita en una versión futura.

    Nota: Como el editor de especificaciones es menos restrictivo que SmartDocs cuando renderiza la documentación de referencia de la API, es posible que obtengas 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.
  • 138438484: No se admiten varios servidores.
Proveedor de identidad 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 SAML, deja el campo URL de cierre de sesión en blanco cuando configures 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 manera de volver a crearla. Deberás eliminar y volver a agregar el producto de la API, y volver a generar la documentación de referencia de la API.
  • Cuando configuras la política de seguridad del contenido, los cambios pueden tardar 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á al 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
Actualización de Edge para la nube privada 4.52.02

Cuando actualices Edge para una nube privada de la versión 4.51.00, 4.52.00 o 4.52.01 a la 4.52.02, se producirá un impacto adicional en las APIs de entorno de ejecución y administración.

Este impacto se produce después de que se actualizan los nodos de Cassandra y dura hasta que se actualizan todos los nodos del procesador de mensajes y del servidor de administración.

Cuando esto suceda, espera un impacto en una de las siguientes áreas:

  • APIs de Runtime que actualizan el token de OAuth
  • APIs de administración que muestran apps para desarrolladores
  • APIs de administración que muestran productos

Apigee publicará la documentación de actualización revisada de Edge for Private Cloud 4.52.02 que aborda este problema.

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. Habrá un aumento gradual en la cantidad 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 Edge Private Cloud 4.51.00.11 o versiones posteriores:

  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 de 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 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 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.

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 se establece 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.