Для запросов со слайсами, выполняющимися на координаторе, записи spill-файлов в представлениях gp_toolkit.gp_workfile_entries и gp_toolkit.gp_workfile_usage_per_query могут дублироваться (с разными PID), что приводит к некорректному вычислению размера данных на диске |
— |
— |
Используйте SELECT DISTINCT ON (segid, sess_id, command_cnt, prefix) в запросах к упомянутым представлениям для предотвращения дублирования записей. Например:
|
В действительности первым параметром передается значение segment_cores, вторым — master_cores
|
— |
— |
Используйте откорректированное описание, предоставленное в первом столбце |
PXF не всегда осуществляет push-down для типа timestamp with time zone |
6.27.1.57 |
— |
Чтобы обеспечить корректную обработку типа timestamp with time zone, определение внешней таблицы должно содержать параметр date_wide_range=true |
Некоторые параметры ulimit (например, nofile limit) могут не установиться в случае запуска кластера через консольную утилиту gpstart под пользователем gpadmin (возникает в Astra Linux) |
6.25.2.52.b1 |
— |
При переключении на пользователя gpadmin не следует применять команду sudo -iu gpadmin. Вместо этого используйте sudo su:
|
Если с помощью gpbackup сделан бэкап для кластера ADB с версией ниже 6.25.2.52.b1 и далее выполняется восстановление данных из этого бэкапа в кластере ADB 6.25.2.52.b1 с помощью gprestore, формируется следующая ошибка:
[CRITICAL]:-ERROR: language "plpythonu" already exists (SQLSTATE 42710)
|
6.25.2.52.b1 |
— |
Удалите PROCEDURAL LANGUAGE plpythonu в целевой базе данных перед запуском gprestore |
Если с помощью gpbackup сделан бэкап для кластера ADB с версией ниже 6.25.2.52.b1 и далее выполняется восстановление данных из этого бэкапа в кластере ADB 6.25.2.52.b1 с помощью gprestore, формируется следующая ошибка:
[CRITICAL]:-ERROR: function public.dblink_connect_no_auth(text) does not exist (SQLSTATE 42883)
|
6.25.2.52.b1 |
— |
-
Запустите gprestore с опциями --metadata-only и --on-error-continue.
-
Убедитесь в отсутствии критических ошибок в error log (при их наличии добавьте необходимые отношения вручную).
-
Запустите gprestore с опцией --data-only для восстановления данных.
|
Если с помощью gpbackup сделан бэкап для кластера ADB с версией ниже 6.25.2.52.b1 и далее выполняется восстановление данных из этого бэкапа в кластере ADB 6.25.2.52.b1 с помощью gprestore, формируются следующие ошибки:
[CRITICAL]:-ERROR: incompatible library "/usr/lib/gpdb/lib/postgresql/gptkh.so": version mismatch (dfmgr.c:367) (SQLSTATE XX000)
[CRITICAL]:-ERROR: required extension "pxf_fdw" is not installed (SQLSTATE 42704)
|
6.25.2.52.b1 |
— |
Обновите пакеты расширений gptkh и pxf_fdw в каждой базе данных, использующей эти расширения, а затем обновите сами расширения.
Для восстановления данных из бэкапа достаточно обновить расширения |
Запрос SELECT к arenadata_toolkit.__db_files_current возвращает следующую ошибку:
psql:/tmp/tmpLWiv6c:1: ERROR: illegal rescan of motion node: invalid plan (nodeMotion.c:1712) (seg105 slice5 10.183.104.153:10003 pid=22864) (nodeMotion.c:1712)
HINT: Likely caused by bad NL-join, try setting enable_nestloop to off
|
6.25.1.49 |
— |
-
Используя psql, подключитесь к базе данных, где собирается статистика (например, adb), под суперпользователем:
$ psql adb -U <superuser>
-
Выполните следующую команду для изменения функции:
ALTER FUNCTION arenadata_toolkit.adb_get_relfilenodes(tablespace_oid OID) ROWS 30000000;
|
При обновлении бандла ADB может возникнуть ошибка Failed: invalid syntax, for details look pg_hba.conf on master host |
6.24.3.48 |
— |
-
Сделайте бэкап логов из директории pg_log.
-
Выполните очистку либо сжатие лог-файлов.
-
Перезапустите ADB.
|
После обновления ADB до версии 6.24.3.48.b1 и выше возможна следующая ошибка при выполнении gpbackup/gprestore:
[CRITICAL]:-table backups has no column named segment_count
Ошибка вызвана тем, что в gpbackup версии 1.28.1 поле segment_count было добавлено в таблицу backups сервисной базы данных SQLite backup_history.db.
Функции базы данных SQLite backup_history.db:
-
Поиск предыдущего завершенного бэкапа с аналогичными опциями для создания инкрементного бэкапа, если параметр --from-timestamp пропущен.
-
Поиск версии плагина (например, gpbackup_s3_plugin) при восстановлении, которая использовалась для создания определенного бэкапа.
Еще один побочный эффект отсутствия нового столбца — некорректное количество сегментов для уже завершенных бэкапов. Это ведет к ошибкам при восстановлении с изменением числа сегментов
|
6.24.3.48.b1 |
— |
Используйте один из следующих вариантов (каждый со своими ограничениями):
-
Вариант 1. Используйте параметры gpbackup --from-timestamp и --no-history для инкрементных бэкапов. Этот вариант не подходит, если используется плагин.
-
Вариант 2. Удалите старый файл базы данных backup_history.db после обновления gpbackup до версии 1.28.1 и выше:
$ rm $MASTER_DATA_DIR/gpseg-1/gpbackup_history.db
Необходимо оперировать полными бэкапами, чтобы обеспечить работу плагина и восстанавливать данные из инкрементных бэкапов.
-
Вариант 3. Измените схему таблицы backups в базе данных SQLite backup_history.db:
$ sqlite3 $MASTER_DATA_DIR/gpseg-1/gpbackup_history.db
ALTER TABLE backups ADD COLUMN segment_count INT;
pragma table_info('backups');
Необходимо указать корректное число сегментов, если запрошено восстановление с изменением их количества.
|
Следующая ошибка возникает во время чтения данных из ClickHouse с использованием ADB ClickHouse Connector при условии, что определен пароль для пользователя default:
DB::Exception: default: Authentication failed: password is incorrect, or there is no user with such name.
|
6.24.3.47 |
— |
Не используйте пароль для пользователя default |
В связи с техническими ограничениями в плагине ADB DDBoost, опция плагина restore_subset автоматически устанавливается в off при использовании опции on-error-continue |
6.22.0.38 |
— |
Не используйте опцию on-error-continue при восстановлении данных |
Расширение кластера может завершиться ошибкой в случае использования полных доменных имен хостов (Fully Qualified Domain Name, FQDN), если установлен флаг Check array |
6.16.1.20 |
— |
Отключите флаг Check array во время расширения кластера, если используются FQDN хостов |
При использовании управления ресурсами на базе ресурсных групп память, выделенная сегмент-хосту, равномерно распределяется между активными primary-сегментами. Выделение памяти происходит при назначении сегменту primary-роли. Размер памяти определяется при старте кластера (путем вызова gpstart) и не изменяется, даже если число сегментов меняется в случае сбоя. Это может привести к утилизации сегмент-хостом большего количества памяти, чем разрешено опцией gp_resource_group_memory_limit.
|
6.12.1.11 |
— |
Перезапустите кластер для перерасчета памяти, выделяемой primary-сегментам в случае изменения их количества (например, после failover) |
Команда COPY описана некорректно в документации VMWare. Значение FILL MISSING FIELDS должно быть заменено на FILL_MISSING_FIELDS |
6.12.1.11 |
— |
Используйте корректное значение опции, предоставленное в первом столбце |
В мониторинге ADB может возникнуть проблема с хранением метрик при использовании RAID. В файле /var/log/diamond/diamond.log при этом отображается следующая ошибка:
error [MainThread] ATTRIBUTE_NAME not found in second column of smartctl output between lines 4 and 9
|
6.12.1.11 |
— |
Установите в /etc/diamond/collectors/SmartCollector.conf параметр enabled = False |
Модуль diskquota может терять статистику во время приостановки при перезапуске кластера. В результате квоты могут быть нарушены.
diskquota рассчитывает размеры таблиц и сохраняет полученные данные в diskquota.table_size с периодичностью diskquota.naptime (2 секунды по умолчанию). Если рестарт кластера производится в период паузы, diskquota потеряет данные обо всех изменениях, произошедших с момента последнего сохранения в таблицу diskquota.table_size. Например, можно сделать значительную вставку данных в таблицы, перезапустить кластер, а модулю diskquota будет об этом неизвестно. Причина в том, что таблица diskquota.table_size ещё не хранит данные о вставке. До тех пор, пока таблицы не станут активны вновь, diskquota не обновит информацию об их размере. Может помочь реинициализация diskquota путем вызова функции diskquota.init_table_size_table, однако в больших кластерах на это потребуется значительное время
|
6.12.1.11 |
— |
Обходное решение отсутствует. Нет возможности надежно сохранять изменения in-memory от координатора и сегментов, когда процессы получают сигнал прерывания |
Описание функции diskquota.pause() в документации VMWare некорректно. Верное описание: вызов diskquota.pause() приводит к тому, что bgworkers полностью пропускают обновление квот во избежание траты вычислительных ресурсов. Размеры таблиц актуализируются после возобновления работы |
6.12.1.11 |
— |
Используйте откорректированное описание, предоставленное в первом столбце |
Формула определения максимального числа табличных сегментов, указанная в документации VMWare, некорректна. Верный вариант:
diskquota.max_table_segments = <maximum_number_of_tables> * ((<number_of_segments> mod 100) + 1) * 100
|
6.12.1.11 |
— |
Используйте откорректированую формулу, предоставленную в первом столбце |
При попытке добавить строку в нижнеуровневую (leaf) партицию партиционированной таблицы может возникнуть следующая ошибка:
SQL Error [23514]: ERROR: trying to insert row into wrong partition
Ошибка появляется, когда несколько столбцов удаляются из партиционированной таблицы, а затем партиции добавляются с помощью команд ADD PARTITION или EXCHANGE PARTITION
|
6.12.1.11 |
— |
Пересоздайте таблицу или, если возможно, не удаляйте столбцы партиционированной таблицы, если планируете после этого добавлять в ней партиции |
В CentOS и Astra Linux установка либо обновление ADB до версии 6.27.1.58 невозможны без предварительной установки Java 17 |
6.27.1.58 |
6.27.1.58 |
Вручную установите Java 17 на хостах кластера и заполните параметр JAVA_HOME на конфигурационной странице кластера |
Установка ADB to ADB Connector завершается с ошибкой ввиду отсутствия нужных файлов расширений на сегментах |
6.25.1.51.b1 |
6.25.2.52.b1 |
Установите пакет adb-fdw для всех сегмент-хостов ADB вручную, т.е. установите их в массовом порядке с помощью запуска gpssh на мастере или выполните установку на каждом хосте |
При установке кластера ADB (с версией < 6.23.3.44) с внешним ADB Control (с версиями 6.23.3.44 — 6.25.1.49) возникает несоответствие агентов и конечной точки ADB Control, вследствие чего возвращается следующая ошибка:
AssertionError: Action Install finished execution with unexpected result - 'failed'. Expected - 'success'
TASK [adcc_client : Add ADB connection to ADCC]
|
6.23.3.44 |
6.25.1.49 |
Обходное решение отсутствует. Только обновление до версии, указанной в столбце Fixed, решает проблему |
Начиная с версии 6.22.1.41 в ADB 6 Madlib использует новый путь для своих библиотек — /usr/local/madlib-adb6. После обновления с предыдущих версий ADB Madlib перестает работать |
6.22.1.41 |
N/A |
-
Сделайте бэкап схемы madlib, если необходимо.
-
Удалите схему madlib с применением опции CASCADE.
-
Запустите действие Install Madlib для сервиса ADB через ADCM.
-
Восстановите объекты схемы из бэкапа.
|
Shared-библиотека diskquota-2.0.so не появляется в shared_preload_libraries в ходе обновления со следующей ошибкой в pg_log на мастере: FATAL: could not access file ""diskquota"": no such file or directory |
6.22.1.41 |
6.24.3.48 |
-
Убедитесь, что пробный запуск (dry-run) утилиты sed выполняется корректно:
$ sed 's/diskquota/diskquota-2.0/g' /data1/*/gpseg*/postgresql.conf
-
Выполните запуск утилиты sed с параметром -i для применения изменений:
$ sed -i 's/diskquota/diskquota-2.0/g' /data1/*/gpseg*/postgresql.conf
|
В ходе установки модуля encryption выводится следующая ошибка: ERROR: Encryption library was not found in /var/lib/pxf/lib/ directory |
6.22.1.40 |
6.22.1.41 |
Скопируйте необходимую библиотеку из /usr/lib/pxf/lib/:
$ cp /usr/lib/pxf/lib/encryption-1.0.0-exec.jar /var/lib/pxf/lib/encryption-1.0.0-exec.jar
|
При обновлении кластера до версии 6.22.1.40 стоит иметь в виду, что в ходе этого процесса таблица arenadata_toolkit.db_files_history пересоздается с последующей загрузкой данных, а также опций партиционирования/сжатия данных в новую таблицу. Для больших таблиц этот процесс может занять длительное время |
6.22.1.40 |
6.22.1.41 |
Чтобы исключить миграцию таблицы arenadata_toolkit.db_files_history из процесса обновления, переименуйте ее до обновления и верните исходное имя после:
-
Выполните запрос:
ALTER TABLE arenadata_toolkit.db_files_history RENAME TO db_files_history_skip;
-
Запустите кластерное действие Upgrade в ADCM и дождитесь успешного обновления.
-
Выполните запрос:
ALTER TABLE arenadata_toolkit.db_files_history_skip RENAME TO db_files_history;
|
При обновлении кластера до версии 6.22.1.40 с установленным сервисом ADCC и включенным параметром UI LDAP authentication новый сервер ADB не регистрируется в ADCC и его версия на странице Information в ADCC остается прежней (как для предыдущего сервера ADB). Эта проблема не затрагивает функциональность каким-либо образом |
6.22.1.40 |
6.22.1.41 |
-
Удалите (uninstall) ADCC перед обновлением кластера ADB до 6.22.1.40.
-
Запустите Upgrade.
-
Переустановите ADCC после обновления.
|
[6X issue 13067] Постепенная утечка памяти на mirror-сегментах |
6.19.1.31 |
6.19.3.32 |
Увеличьте наблюдение за потреблением памяти в кластере и перезапускайте кластер в процессе обслуживания, если возможно. Эта проблема будет решена в следующем релизе |
madlib на Power8 (ppc64le arch) приводит к сбою сборки gpdb
|
6.17.2.26 |
6.17.5.26 |
Отсутствует. Расширение madlib не включено в сборку Power8 (ppc64le arch) |
Сервис kafka-fdw версий 0.11-0.12 (добавленных в релизе 6.15.0.17) не работает корректно с пакетами данных, размер которых превышает 40000 - <msg_count> * 40 байт (где <msg_count> — количество сообщений). В этом случае запрос SELECT к внешней таблице KafkaToADB вызывает ошибку SEGFAULT. Исправление ошибки ожидается в следующем релизе ADB |
6.16.3.24 |
6.17.1.25 |
Не следует использовать пакеты данных размером более 40000 - <msg_count> * 40 байт при чтении более одного сообщения. Для чтения одного сообщения ограничений нет |
Утилита gpbackup с версией 1.20.1 — 1.20.4 не работает корректно, когда в БД присутствуют сторонние (foreign) таблицы. Процесс создания бэкапа возращает ошибку SQLSTATE 42809. Исправление ошибки ожидается в следующем релизе ADB |
6.16.1.20 |
6.16.2.21 |
Необходимо использовать gpbackup версии 1.20.0, который включен в релиз ADB 6.13.0.12 |
Попытка обновления кластера, в котором используется diskquota и установлена опция gp_default_storage_options='appendoptimized=true', завершается ошибкой:
ERROR: "append-only tables do not support unique indexes"
|
6.12.1.11 |
6.25.1.49 |
-
Установите gp_default_storage_options='appendoptimized=false' перед обновлением.
-
Обновите кластер.
-
Верните прошлое значение опции gp_default_storage_options='appendoptimized=true'.
|
Действие Upgrade завершается ошибкой, если опция appendoptimized имеет значение true в параметре gp_default_storage_options для какой-либо базы данных |
6.12.1.11 |
6.24.3.48.b1 |
Измените значение параметра gp_default_storage_options на appendoptimized=false перед обновлением и верните значение true после |
Утилита gpperfmon может сгенерировать огромное количество логов в $MASTER_DATA_DIR/gpseg-1/gpperfmon/q*.txt даже в случае, если она не используется |
6.12.1.11 |
6.23.5.45.b1 |
-
Выключите GUC gp_enable_gpperfmon:
$ gpconfig -c gp_enable_gpperfmon -v off
-
Очистите директорию $MASTER_DATA_DIR/gpseg-1/gpperfmon/.
|
При расширения кластера путем вызова действия Expand могут возникнуть проблемы, если хосты кластера были зарегистрированы с полным доменным именем (Full Qualified Domain Name, FQDN). В этом случае в таблице gp_segment_configuration будут содержаться различные значения в столбцах hostname и address, что приведет к ошибкам при расширении кластера |
6.12.1.11 |
6.23.3.44 |
Перед расширением кластера:
-
Остановите кластер, например, используя команду:
-
Запустите мастер-сегмент в utility-режиме:
-
Присвойте параметру GUC allow_system_table_mods значение true:
SET allow_system_table_mods = 'true';
-
Настройте gp_segment_configuration таким образом, чтобы hostname и address были идентичны:
UPDATE gp_segment_configuration SET hostname = address;
-
Остановите и запустите кластер ADB в обычном режиме:
|