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

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

В следующих разделах описываются известные проблемы с 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 412696630: Ошибка загрузки хранилищ ключей при запуске

Компонент edge-message-processor может периодически не загружать одно или несколько хранилищ ключей при запуске, что приводит к ошибкам трафика при использовании хранилища ключей прокси-сервером API. Перезапуск компонента edge-message-processor обычно решает эту проблему.

Edge для частного облака 4.53.00 Выноски Java

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

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

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

Затронутым компонентом является: процессор граничных сообщений.

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

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

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

Компоненты маршрутизатора и сервера управления Edge for Private Cloud имеют доступ к Интернету и потенциально могут быть уязвимы. Хотя HTTP/2 включён на порту управления других компонентов 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. Обновление Postgres:

    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. Обновление Postgres:

    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 .