Миграция на текущую версию#

Инструкция предназначена для перехода на версию 2.3.1.

Пререквизиты (подготовка окружения)#

  1. База данных GraDeLy:

    Запустите сценарий (playbook) DB_UPDATE перед установкой консоли, для обновления БД консоли.

  2. База данных приемника:

    Запустите сценарий (playbook) DB_UPDATE перед установкой воркеров, чтобы на базе приемника создалась таблица $CONFLICT_RESOLUTION_TX$. Либо создайте вручную, выполнив следующую SQL команду:

       CREATE TABLE public."$CONFLICT_RESOLUTION_TX$" (
       source_id bigint NOT NULL,
       gradely_id bigint NOT NULL,
       change_vector_seq int NOT NULL,
       transaction_id bigint NOT NULL,
       table_schema varchar(128) NOT NULL,
       table_name varchar(128) NOT NULL,-
       opcode char(1) NOT NULL,
       error_code char(1) NOT NULL,
       error_message text,
       vector_data jsonb NOT NULL,
       error_handle_action char(1) NOT NULL
       PRIMARY KEY (source_id, gradely_id, change_vector_seq)
       );
    

    Передайте владение таблицей администратору:

    ALTER TABLE IF EXISTS ONLY public."$CONFLICT_RESOLUTION_TX$" OWNER TO as_admin;
    

    И выдайте необходимые права на эту таблицу роли под которой работает воркер:

    GRANT SELECT, INSERT, UPDATE, DELETE ON $CONFLICT_RESOLUTION_TX$ IN SCHEMA ${schema_name} TO gdl_worker;
    
  3. Kafka:

    Для каждого топика данных {topicName}, создайте служебный топик {topicName}-conflict-tx/delete/1 для записей сообщений обработчика ошибок.

При развороте воркеров на VM необходима дополнительная конфигурация RPWL

Необходимо:#

Выполнить пререквизиты по подготовке базы данных/кафки.

Метки#

Начиная с релиза 2.3.1, поменялась логика работы с метками.

  • Если модуль в графе содержит метку, то он будет работать только с воркером, имеющим соответствующую метку. Для работы графа репликации необходимо дополнительно проставить метки на модули, если предполагается использование воркеров с метками.

  • Если модуль в графе репликации не содержит метку, то он будет работать с воркерами без меток. Если не предполагается использование воркеров с метками, то проставление меток на модули не требуется.

Было изменено#

Release notes 2.3.0