Skip to content

Release 0.16 notes

Важно

Airflow больше не нужен для работы приложения. Перед установкой релиза важно ознакомиться с обновленной инструкцией по установке

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

  1. Для всех новых датасетов имя таблицы теперь всегда совпадает с именем датасета при регистрации (исключение - датасеты, полученные через POST /transform с явным указанием параметра to_name).
  2. Создание таблицы датасета в dag_executor теперь происходит без предварительного выполнения drop table if exists (исключение - датасет-сегмент). Проверка уникальности имени таблицы теперь производится только по каталогу датасетов в метаданных. Если датасет с такой таблицей отсутствует в metastore в момент регистрации, но при этом в момент его расчета такая таблица уже есть в datastore, датасет зарегистрируется успешно, но загрузка данных завершится с ошибкой.
  3. Типы полей таблицы датасета теперь берутся только из типов данных используемых переменных. NB! Важно перепроверить, что типы данных указаны корректно для всех переменных каталога.

Миграция связей

Связи сущностей мигрируют в целевую архитектуру метаданных v100. Миграция связей является первым шагом процесса миграции загрузчиков на целевую архитектуру.

Для обеспечения возможности "отката" к легаси архитектуре, в релизе предусмотрена переменная USE_NEW_ENTITY_LINK_REPO.

Удаление job-ов загрузчиков

Задания загрузки данных (job-ы) удаляются для всех ранее зарегистрированных загрузчиков с загрузкой данных. Такие загрузчики перестают запускаться через эндпоинт POST /loader/{loader_rk}/execute.

Проверить наличие таких загрузчиков можно с помощью запроса:

select * from meta.loader
where kind != 'external'

Если есть необходимость запускать такие загрузчики, то после установки релиза их нужно будет перерегистрировать.

init-контейнеры

Их больше нет. Вся необходимая логика, которая была в инит контейнерах, теперь выполняется в момент старта API

Установка из whl-пакета

  1. Приложение больше не предоставляет CLI команды axiom db init и axiom execution init-dags
  2. Приложение больше не предоставляет эндпоинты /api/v100/admin/migrate_metastore, /api/v100/admin/migrate_dags, запускать их руками больше нет необходимости, при старте своей работы приложение самостоятельно выполнит все необходимые миграции.
  3. Эндпоинт /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_PATH
  • ROLLBACK_STAGE_CSV_PATH
  • META__ROLLBACK_PASS
  • ENGINE__PLUS_INFINITY
  • ENGINE__MINUS_INFINITY
  • ENGINE__GREENPLUM_SESSION_OPTS - необходимо пользоваться ENGINE__CONN_OPTIONS или профилем исполнения
  • ENGINE__POSTGRES_SESSION_OPTS - необходимо пользоваться ENGINE__CONN_OPTIONS или профилем исполнения

MOVED

  • API_TIMEOUT_KEEPALIVE - вместо нее надо использовать GUNICORN_CMD_ARGS
  • UVICORN_RELOAD - вместо нее надо использовать GUNICORN_CMD_ARGS
  • API_ROOT_PATH_PREFIX -> API__ROOT_PATH_PREFIX
  • FILE_ENCODING -> S3__FILE_ENCODING
  • MAX_CHAIN_LENGTH -> APP__MAX_CHAIN_LENGTH
  • MAX_CHAINS_COUNT -> APP__MAX_CHAINS_COUNT
  • MAX_DELETE_BATCH_SIZE -> APP__MAX_DELETE_BATCH_SIZE
  • DEFAULT_ITEMS_LIMIT -> APP__DEFAULT_ITEMS_LIMIT
  • DEFAULT_PREVIEW_LIMIT -> APP__DEFAULT_PREVIEW_LIMIT
  • MAX_PREVIEW_LIMIT -> APP__MAX_PREVIEW_LIMIT

NEW

  • USE_NEW_ENTITY_LINK_REPO - выполнять сохранение и чтение связей, используя целевую архитектуру метаданных v100 (default = True). Если True, то связи сохраняются как в целевой, так и в легаси архитектуре, при этом чтение происходит только из целевых таблиц metastore. Если False, то используются метаданные только из легаси архитектуры.
  • EXECUTOR - Настройки Celery
    • EXECUTOR__BROKER_URL = null: адрес брокера сообщений: redis/sentinel или rabbit-mq
    • EXECUTOR__OPTIONS = {}: дополнительные опции приложения Celery в формате JSON
    • EXECUTOR__ABORT_PROBE_DELAY = 15: частота проверки что задание отменено (в секундах)
  • APP - настройки приложения
    • APP__NAME = "axiom": отображаемое имя приложения
    • APP__AUTO_LINKS = true: создавать ли авто-связи между сущностями