Release 0.16 notes
Важно
Airflow больше не нужен для работы приложения. Перед установкой релиза важно ознакомиться с обновленной инструкцией по установке
Изменение правил создания таблицы датасета
- Для всех новых датасетов имя таблицы теперь всегда совпадает с именем датасета
при регистрации (исключение - датасеты, полученные через
POST /transformс явным указанием параметраto_name). - Создание таблицы датасета в dag_executor теперь происходит без предварительного выполнения
drop table if exists(исключение - датасет-сегмент). Проверка уникальности имени таблицы теперь производится только по каталогу датасетов в метаданных. Если датасет с такой таблицей отсутствует в metastore в момент регистрации, но при этом в момент его расчета такая таблица уже есть в datastore, датасет зарегистрируется успешно, но загрузка данных завершится с ошибкой. - Типы полей таблицы датасета теперь берутся только из типов данных используемых переменных. NB! Важно перепроверить, что типы данных указаны корректно для всех переменных каталога.
Миграция связей
Связи сущностей мигрируют в целевую архитектуру метаданных v100. Миграция связей является первым шагом процесса миграции загрузчиков на целевую архитектуру.
Для обеспечения возможности "отката" к легаси архитектуре, в релизе предусмотрена переменная
USE_NEW_ENTITY_LINK_REPO.
Удаление job-ов загрузчиков
Задания загрузки данных (job-ы) удаляются для всех ранее зарегистрированных загрузчиков
с загрузкой данных. Такие загрузчики перестают запускаться через эндпоинт
POST /loader/{loader_rk}/execute.
Проверить наличие таких загрузчиков можно с помощью запроса:
Если есть необходимость запускать такие загрузчики, то после установки релиза их нужно будет перерегистрировать.
init-контейнеры
Их больше нет. Вся необходимая логика, которая была в инит контейнерах, теперь выполняется в момент
старта API
Установка из whl-пакета
- Приложение больше не предоставляет CLI команды
axiom db initиaxiom execution init-dags - Приложение больше не предоставляет эндпоинты
/api/v100/admin/migrate_metastore,/api/v100/admin/migrate_dags, запускать их руками больше нет необходимости, при старте своей работы приложение самостоятельно выполнит все необходимые миграции. - Эндпоинт
/api/v100/admin/ref_initтакже нет необходимости вызывать руками, если справочники пустые на момент старта приложение, оно само их заполнит.
ENVIRONMENT VARIABLES
DEPRECATED
- Все переменные, относящиеся к Airflow
AF__... - Все переменные, относящиеся к росбанку
RB__... - Все переменные, относящиеся к sentry
SENTRY__ - Все переменные, относящиеся к git
GIT__. Если после апгрейда приложения на версию 0.16 переменные будут еще определены, то миграции подчистятdag_executorи прочие файлы, которые относятся к приложению и находятся в git. В релизе 0.17 планируется окончательно убрать поддержку git. API_HOST- больше нет необходимости знать где развернуто приложениеAPI_ENV_PASSWORD- нет необходимостиINIT_CONTAINERS_ENABLED- больше нет init контейнеровROLLBACK_STAGE_DDL_PATHROLLBACK_STAGE_CSV_PATHMETA__ROLLBACK_PASSENGINE__PLUS_INFINITYENGINE__MINUS_INFINITYENGINE__GREENPLUM_SESSION_OPTS- необходимо пользоваться ENGINE__CONN_OPTIONS или профилем исполненияENGINE__POSTGRES_SESSION_OPTS- необходимо пользоваться ENGINE__CONN_OPTIONS или профилем исполнения
MOVED
API_TIMEOUT_KEEPALIVE- вместо нее надо использоватьGUNICORN_CMD_ARGSUVICORN_RELOAD- вместо нее надо использоватьGUNICORN_CMD_ARGSAPI_ROOT_PATH_PREFIX->API__ROOT_PATH_PREFIXFILE_ENCODING->S3__FILE_ENCODINGMAX_CHAIN_LENGTH->APP__MAX_CHAIN_LENGTHMAX_CHAINS_COUNT->APP__MAX_CHAINS_COUNTMAX_DELETE_BATCH_SIZE->APP__MAX_DELETE_BATCH_SIZEDEFAULT_ITEMS_LIMIT->APP__DEFAULT_ITEMS_LIMITDEFAULT_PREVIEW_LIMIT->APP__DEFAULT_PREVIEW_LIMITMAX_PREVIEW_LIMIT->APP__MAX_PREVIEW_LIMIT
NEW
USE_NEW_ENTITY_LINK_REPO- выполнять сохранение и чтение связей, используя целевую архитектуру метаданных v100 (default =True). ЕслиTrue, то связи сохраняются как в целевой, так и в легаси архитектуре, при этом чтение происходит только из целевых таблиц metastore. ЕслиFalse, то используются метаданные только из легаси архитектуры.EXECUTOR- Настройки CeleryEXECUTOR__BROKER_URL=null: адрес брокера сообщений: redis/sentinel или rabbit-mqEXECUTOR__OPTIONS={}: дополнительные опции приложения Celery в формате JSONEXECUTOR__ABORT_PROBE_DELAY=15: частота проверки что задание отменено (в секундах)
APP- настройки приложенияAPP__NAME="axiom": отображаемое имя приложенияAPP__AUTO_LINKS=true: создавать ли авто-связи между сущностями