Часто встречающиеся проблемы и пути их устранения#

Не открывается интерфейс приложения#

Если при переходе на страницу приложения интерфейс не открывается, при этом индикатор загрузки продолжает крутиться, проведите диагностику согласно инструкции:

  1. Откройте в браузере инструменты разработчика(F12).

  2. В разделе Networks выберите из списка загруженного контента ресурс с ошибкой (как правило, он выделяется красным цветом).

  3. Нажмите на ресурс, чтобы получить детали ошибки.

    • Если ресурс /current-info с ошибкой 500, необходимо обратиться к логам backend-части приложения.

    • Если появилось сообщение "java.lang.IllegalStateException: Token is absent in request", приложение не получило токен от IAM Proxy. Вероятная причина этого - попытка входа в приложение не по целевому URL, а напрямую по IP.

Для решения проблемы выполните следующее:

  • Пройдите аутентификацию в IAM Proxy. После этого вас перенаправит в приложение с необходимым для работы токеном.

  • Войдите в приложение по IP, но передайте приложению токен вручную. Для этого воспользуйтесь расширением для браузера.

Ошибка при подключении к БД "ERROR: unsupported startup parameter: search_path"#

Для устранения необходимо в настройке pgbouncer в параметр ignore_startup_parameters добавить search_path, пример: ignore_startup_parameters = extra_float_digits*,search_path*

Возникает ошибка "PreparedStatement already exists"#

При поднятии кластера БД с pgbouncer может возникнуть ошибка "PreparedStatement already exists". Для ее решения в каждую строку подключения к БД добавьте параметр prepareThreshold=0.

При использовании кластерного решения для базы данных с pgbouncer, приложению не удается установить связь с базой#

Для решения этой проблемы необходимо выполнить следующие действия:

  1. Выполните команду для установки search_path (требуются права администратора):

    \connect <база_данных>;
    ALTER user swtr_admin SET search_path = swtr, swtr_access_control, swtr_keycloak, information_schema, ext;
    ALTER user swtr_app SET search_path = swtr, swtr_access_control, swtr_keycloak, information_schema, ext;
    

    где <база_данных> - имя базы данных

  2. Добавьте к строке подключения к БД параметр &prepareThreshold=0:

    url: jdbc:postgresql://${database.swtr.ip}:${database.swtr.port}/${database.swtr.instance}?currentSchema=${database.swtr.schema}&stringtype=unspecified&prepareThreshold=0
    url: jdbc:postgresql://${database.access-control.ip}:${database.access-control.port}/${database.access-control.instance}?currentSchema=${database.access-control.schema}&stringtype=unspecified&prepareThreshold=0