Известные проблемы с Apigee

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

В следующих разделах описаны известные проблемы Apigee. В большинстве случаев перечисленные проблемы будут исправлены в будущих выпусках.

Разное Известные проблемы Edge

В следующих разделах описаны различные известные проблемы с Edge.

Район/Сводка Известные проблемы
Срок действия кэша приводит к неправильному значению cachehit

Когда переменная потока cachehit используется после политики LookupCache, из-за способа отправки точек отладки для асинхронного поведения LookupPolicy заполняет объект DebugInfo до выполнения обратного вызова, что приводит к ошибке.

Обходной путь: повторите процесс (сделайте второй звонок) еще раз сразу после первого звонка.

Установка для политики InvalidateCache PurgeChildEntries значения true работает неправильно.

Установка PurgeChildEntries в политике InvalidateCache должна очищать только значения элемента KeyFragment , но очищает весь кеш.

Обходной путь: используйте политику KeyValueMapOperations , чтобы итерировать управление версиями кэша и обойти необходимость аннулирования кэша.

Одновременные запросы на развертывание прокси-сервера SharedFlow или API могут привести к несогласованному состоянию на сервере управления, где несколько версий отображаются как развернутые.

Это может произойти, например, когда одновременно выполняются конвейеры развертывания CI/CD с использованием разных версий. Чтобы избежать этой проблемы, избегайте развертывания прокси-серверов API или SharedFlows до завершения текущего развертывания.

Обходной путь: избегайте одновременного развертывания прокси-сервера API или SharedFlow.

Количество вызовов API, отображаемое в Edge API Analytics, может содержать повторяющиеся данные.

Edge API Analytics иногда может содержать повторяющиеся данные для вызовов API. В этом случае количество вызовов API, отображаемое в Edge API Analytics, выше, чем сопоставимые значения, отображаемые в сторонних аналитических инструментах.

Обходной путь: экспортируйте аналитические данные и используйте поле шлюза_flow_id для дедупликации данных.

Известные проблемы с пользовательским интерфейсом Edge

В следующих разделах описаны известные проблемы с пользовательским интерфейсом Edge.

Область Известные вопросы
Невозможно получить доступ к странице администрирования зоны Edge SSO из панели навигации после того, как организация сопоставлена ​​с зоной идентификации. Когда вы подключаете организацию к зоне идентификации , вы больше не можете получить доступ к странице администрирования зоны Edge SSO с левой панели навигации, выбрав «Администратор» > «Единый вход». В качестве обходного пути перейдите на страницу напрямую, используя следующий URL-адрес: https://apigee.com/sso.

Известные проблемы с интегрированным порталом

В следующих разделах описаны известные проблемы интегрированного портала.

Область Известные проблемы
СмартДокс
  • Apigee Edge поддерживает спецификацию OpenAPI 3.0, когда вы создаете спецификации с помощью редактора спецификаций и публикуете API с помощью SmartDocs на своем портале, хотя подмножество функций еще не поддерживается.

    Например, следующие функции спецификации OpenAPI 3.0 пока не поддерживаются:

    • allOf свойства для объединения и расширения схем
    • Удаленные ссылки

    Если в вашей спецификации OpenAPI указана неподдерживаемая функция, в некоторых случаях инструменты проигнорируют эту функцию, но все равно отобразят справочную документацию API. В других случаях неподдерживаемая функция приведет к ошибкам, препятствующим успешному отображению справочной документации API. В любом случае вам потребуется изменить спецификацию OpenAPI, чтобы избежать использования неподдерживаемой функции до тех пор, пока она не будет поддерживаться в будущем выпуске.

    Примечание . Поскольку редактор спецификаций менее строгий, чем SmartDocs, при отображении справочной документации API, вы можете получить разные результаты при использовании разных инструментов.

  • При использовании «Попробуйте этот API» на портале для заголовка Accept устанавливается значение application/json независимо от значения, установленного для consumes в спецификации OpenAPI.
  • 138438484: несколько серверов не поддерживаются.
Поставщик удостоверений SAML Единый выход из системы (SLO) с помощью поставщика удостоверений SAML не поддерживается для личных доменов. Чтобы включить личный домен с поставщиком удостоверений SAML, оставьте поле URL-адрес выхода пустым при настройке параметров SAML .
Администратор портала
  • Одновременное обновление портала (например, редактирование страниц, тем, CSS или сценариев) несколькими пользователями в настоящее время не поддерживается.
  • Если вы удалите страницу справочной документации API с портала, восстановить ее будет невозможно; вам потребуется удалить и повторно добавить продукт API, а также заново создать справочную документацию по API.
  • При настройке политики безопасности контента для полного применения изменений может потребоваться до 15 минут.
  • При настройке темы портала для полного применения изменений может потребоваться до 5 минут.
Возможности портала
  • Поиск будет интегрирован в интегрированный портал в будущей версии.

Известные проблемы с Edge для частного облака

В следующих разделах описаны известные проблемы с Edge для частного облака.

Область Известные проблемы
Edge для частного облака 4.53.00 Выноски Java

Вызовы Java клиента, которые пытаются загрузить поставщика криптографии Bouncy Castle с использованием имени "BC", могут завершиться неудачей, поскольку поставщик по умолчанию был изменен на Bouncy Castle FIPS для поддержки FIPS. Новое имя поставщика для использования - "BCFIPS" .

Обновление Edge для частного облака 4.52.01 Mint

Эта проблема касается только тех, кто использует MINT или включил MINT в установках Edge для частного облака.

Затронутые компоненты: edge-message-processor

Проблема: Если у вас включена монетизация и вы устанавливаете 4.52.01 как новую установку или обновление с предыдущих версий Private Cloud, вы столкнетесь с проблемой с обработчиками сообщений. Будет наблюдаться постепенное увеличение количества открытых потоков, что приведет к исчерпанию ресурсов. Следующее исключение отображается в edge-message-processor system.log:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Уязвимость HTTP/2 Apigee

Недавно была обнаружена уязвимость типа «отказ в обслуживании» (DoS) в нескольких реализациях протокола HTTP/2 (CVE-2023-44487), в том числе в Apigee Edge для частного облака. Уязвимость может привести к DoS функциональности управления API Apigee. Более подробную информацию см. в бюллетене по безопасности Apigee GCP-2023-032 .

Компоненты маршрутизатора и сервера управления Edge for Private Cloud открыты для Интернета и потенциально могут быть уязвимы. Хотя HTTP/2 включен на порту управления других специфичных для Edge компонентов Edge for Private Cloud, ни один из этих компонентов не открыт для Интернета. На компонентах, не относящихся к Edge, таких как Cassandra, Zookeeper и других, HTTP/2 не включен. Мы рекомендуем вам предпринять следующие шаги для устранения уязвимости Edge for Private Cloud:

Если вы используете Edge Private Cloud версии 4.51.00.11 или более поздней, выполните следующие действия:

  1. Обновите сервер управления:

    1. На каждом узле сервера управления откройте /opt/apigee/customer/application/management-server.properties
    2. Добавьте эту строку в файл свойств:
      conf_webserver_http2.enabled=false
    3. Перезапустите компонент сервера управления:
      apigee-service edge-management-server restart
  2. Обновите процессор сообщений:

    1. На каждом узле процессора сообщений откройте /opt/apigee/customer/application/message-processor.properties
    2. Добавьте эту строку в файл свойств:
      conf_webserver_http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-message-processor restart
  3. Обновите маршрутизатор:

    1. На каждом узле маршрутизатора откройте /opt/apigee/customer/application/router.properties
    2. Добавьте эту строку в файл свойств:
      conf_webserver_http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-router restart
  4. Обновить QPID:

    1. На каждом узле QPID откройте /opt/apigee/customer/application/qpid-server.properties
    2. Добавьте эту строку в файл свойств:
      conf_webserver_http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-qpid-server restart
  5. Обновление Постгреса:

    1. На каждом узле Postgres откройте /opt/apigee/customer/application/postgres-server.properties
    2. Добавьте эту строку в файл свойств:
      conf_webserver_http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-postgres-server restart

Если вы используете Edge for Private Cloud версии старше 4.51.00.11, выполните следующие действия:

  1. Обновите сервер управления:

    1. На каждом узле сервера управления откройте /opt/apigee/customer/application/management-server.properties
    2. Добавьте в файл свойств следующие две строки:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Перезапустите компонент сервера управления:
      apigee-service edge-management-server restart
  2. Обновите процессор сообщений:

    1. На каждом узле процессора сообщений откройте /opt/apigee/customer/application/message-processor.properties
    2. Добавьте в файл свойств следующие две строки:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-message-processor restart
  3. Обновите маршрутизатор:

    1. На каждом узле маршрутизатора откройте /opt/apigee/customer/application/router.properties
    2. Добавьте в файл свойств следующие две строки:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-router restart
  4. Обновить QPID:

    1. На каждом узле QPID откройте /opt/apigee/customer/application/qpid-server.properties
    2. Добавьте в файл свойств следующие две строки:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-qpid-server restart
  5. Обновление Постгреса:

    1. На каждом узле Postgres откройте /opt/apigee/customer/application/postgres-server.properties
    2. Добавьте в файл свойств следующие две строки:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Перезапустите компонент процессора сообщений:
      apigee-service edge-postgres-server restart
Обновление Postgresql при обновлении до версии 4.52

Apigee-postgresql испытывает проблемы с обновлением Edge for Private Cloud версии 4.50 или 4.51 до версии 4.52. Проблемы в основном возникают, когда количество таблиц превышает 500.

Вы можете проверить общее количество таблиц в Postgres, выполнив SQL-запрос ниже:

select count(*) from information_schema.tables

Обходной путь: при обновлении Apigee Edge 4.50.00 или 4.51.00 до 4.52.00 обязательно выполните предварительный шаг перед обновлением Apigee-postgresql.

Политика LDAP

149245401: Настройки пула подключений LDAP для JNDI, настроенные через ресурс LDAP, не отражаются, а значения по умолчанию JNDI каждый раз приводят к одноразовым подключениям. В результате подключения каждый раз открываются и закрываются для одноразового использования, создавая большое количество подключений в час к серверу LDAP.

Обходной путь:

Чтобы изменить свойства пула подключений LDAP, выполните следующие действия, чтобы установить глобальное изменение для всех политик LDAP.

  1. Создайте файл свойств конфигурации, если он еще не существует:
    /opt/apigee/customer/application/message-processor.properties
  2. Добавьте в файл следующее (замените значения свойств интерфейса именования и каталогов Java (JNDI) в соответствии с требованиями конфигурации ресурсов 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. Убедитесь, что файл /opt/apigee/customer/application/message-processor.properties принадлежит apigee:apigee.
  4. Перезапустите каждый процессор сообщений.

Чтобы убедиться, что свойства JNDI вашего пула подключений вступают в силу, вы можете выполнить tcpdump, чтобы понаблюдать за поведением пула подключений LDAP с течением времени.

Высокая задержка обработки запроса

139051927: Высокие задержки обработки прокси, обнаруженные в процессоре сообщений, влияют на все API-прокси. Симптомы включают задержки в 200-300 мс во времени обработки по сравнению с обычным временем ответа API и могут возникать случайным образом даже при низком TPS. Это может произойти, когда более 50 целевых серверов, на которых процессор сообщений устанавливает соединения.

Основная причина: процессоры сообщений хранят кэш, который сопоставляет URL-адрес целевого сервера с объектом HTTPClient для исходящих подключений к целевым серверам. По умолчанию этот параметр установлен на 50, что может быть слишком низким для большинства развертываний. Если развертывание имеет несколько комбинаций org/env в настройке и имеет большое количество целевых серверов, превышающее в общей сложности 50, URL-адреса целевых серверов продолжают вытесняться из кэша, что приводит к задержкам.

Проверка: Чтобы определить, является ли вытеснение URL-адреса целевого сервера причиной проблемы задержки, выполните поиск в системных журналах процессора сообщений по ключевым словам "onEvict" или "Eviction". Их присутствие в журналах указывает на то, что URL-адреса целевого сервера вытесняются из кэша HTTPClient, поскольку размер кэша слишком мал.

Обходной путь: для Edge for Private Cloud версий 19.01 и 19.06 вы можете отредактировать и настроить кэш HTTPClient, /opt/apigee/customer/application/message-processor.properties :

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

Затем перезапустите процессор сообщений. Сделайте те же изменения для всех процессоров сообщений.

Значение 500 является примером. Оптимальное значение для вашей настройки должно быть больше, чем количество целевых серверов, к которым будет подключаться процессор сообщений. Установка этого свойства выше не имеет побочных эффектов, и единственным результатом будет улучшение времени обработки запросов прокси-сервера процессора сообщений.

Примечание: Edge for Private Cloud версии 50.00 имеет настройку по умолчанию 500.

Несколько записей для карт значений ключей

157933959: Одновременные вставки и обновления одной и той же карты значений ключа (KVM), ограниченной уровнем организации или среды, приводят к несогласованности данных и потере обновлений.

Примечание: Это ограничение применимо только к Edge для частного облака. Edge для публичного облака и гибридного не имеют этого ограничения.

Для обхода проблемы в Edge для частного облака создайте KVM в области действия apiproxy .