Главная » Error » Statement due timeout canceling error

Statement due timeout canceling error

Получили новый железный сервер: СУБД PostgreSql-13.4-6.1C x64 + Сервер 1С 8.3.19.1467 х64. Нужно было перенести базы со старого сервера (там была СУБД MS SQL + 1C 8.3.16.1876). Базы переносили через dt-файлы. При загрузке dt-файлов небольшого размера до 3 Gb проблем не проявилось. Но когда решили переносить базу 1С:УПП, у которой dt-файл был размером 25 Gb, то не смогли его загрузить. По логу PostgresSQL стали анализировать ошибки.

Меняли конфигурационные файлы Postgres’а, где пробовали отлючать/включать/изменять всё что знали (знаем не всё) или нашли на профессиональных форумам. Перезапускали сервис postgres’a, пробовали загрузку снова и снова, но всё равно натыкались на ошибку:

Ошибка загрузки информационной базы. В информационную базу загружены не все данные по причине:

Конфликт блокировок при выполнении транзакции:

55P03: ERROR: canceling statement due to lock timeout

CONTEXT: COPY _accrgat21396, line 7000

При загрузке то таблиц субконто, то таблиц с бухгалтерскими итогами, на разных строках вылетала ошибка и загрузка dt-файла прерывалась.

В итоге большее время заняли 2 ошибки:

LOG: Could not rename temporary statistics file “pg_stat_tmp/global.tmp” to “pg_stat_tmp/global.stat”: Permission denied – как оказалось, являлась ошибкой установленного релиза PostgreSql-13.4-6.1C_x64, которая потребовала переустановки другого релиза PostgresPro_13.5.1_64bit_Setup. Переустановили, ошибка ушла, сама она описана на форумах, решается либо патчами либо установкой подходящего релиза PostgresPro.

ERROR: canceling statement due to lock timeout – основная ошибка блокировки, которую многократными манипуляциями с переконфигурированием Postgres’а нам не удавалось решить.

Запустили конфигурацию с нужным ключом, для загрузки принудительно в одном потоке

/RestoreIB “C:\MK_HOLD_12_01_2022.dt” -JobsCount 1

Успех!!! dt-файл 25 Gb развернулся в базу 300 Gb

Как мне устранить неполадки в задаче AWS DMS, которая завершается с сообщением об ошибке “Statement due timeout canceling error”?

Я переношу данные в или из своей локальной базы данных PostgreSQL с помощью службы миграции баз данных AWS (AWS DMS). Задача AWS DMS некоторое время выполняется нормально, а затем задача завершается с ошибкой. Как мне устранить неполадки и устранить эти ошибки?

Если источником вашей задачи миграции является база данных PostgreSQL, то AWS DMS получает данные из таблицы на этапе полной загрузки. Затем AWS DMS считывает данные из журналов предварительной записи (WAL), которые хранятся в слоте репликации на этапе сбора данных об изменениях (CDC).

Если целевой является база данных PostgreSQL, AWS DMS получает данные из источника и создает CSV-файлы в экземпляре репликации. Затем AWS DMS запускает команду КОПИРОВАНИЯ, чтобы вставить эти записи в цель на этапе полной загрузки.

Но на этапе CDC AWS DMS выполняет точные инструкции DML из исходных журналов WAL в режиме применения транзакций. Для режима пакетного применения AWS DMS также создает CSV-файлы на этапе CDC. Затем выполняется команда КОПИРОВАНИЯ для вставки чистых изменений в цель.

Когда AWS DMS пытается либо получить данные из источника, либо поместить данные в цель, используется значение тайм-аута по умолчанию, равное 60 секундам. Если источник или цель сильно загружены или в таблицах имеются блокировки, AWS DMS не может завершить выполнение этих команд в течение 60 секунд. Итак, задача завершается с ошибкой “отмена инструкции из-за тайм-аута инструкции”, и вы видите одну из этих записей в журнале:

Сообщения:

“] E: повторный код: SQL_ERROR SqlState: 57014 NativeError: 1 Сообщение: ОШИБКА: отмена инструкции из-за тайм-аута инструкции; Ошибка при выполнении запроса [1022502] (ar_odbc_stmt.c: 2738)”

“] E: test_decoding_create_replication_slot(…) – Не удалось создать слот ‘lrcyli7hfxcwkair_00016402_8917165c_29f0_4070_97dd_26e78336e01b’ (на этапе выполнения (…)) [1022506] (postgres_test_decoding.c: 392))”

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

  • Определите причину длительного времени выполнения команд.
  • Увеличьте значение тайм-аута и проверьте значение тайм-аута создания слота.
  • Устранение неполадок с созданием слотов.

Наконец, перезапустите задачу миграции.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector