Решенные проблемы

В разделе перечислены проблемы в ADB 5.19.0-arenadata4, их решения и результат.

  • MPP-29348 – PL/Container

Проблема совместимости библиотек сделала невозможным совместную установку PL/Container и PostGIS.

Проблема решена.

  • 29833 – Query Optimizer

В некоторых случаях GPORCA генерирует PANIC при запросе представления, созданного с использованием общей table expression (CTE).

Проблема решена. GPORCA улучшила обработку представлений, созданных с использованием CTE.

  • 163669554 – Resource Groups

Когда группы ресурсов включены, запрос может завершиться с ошибкой “insufficient memory reserved” из-за неправильных настроек группы ресурсов или квоты памяти, которая слишком мала для конкретного запроса.

База данных ADB улучшила эту ситуацию, позволив чрезмерно использовать ресурсы памяти до тех пор, пока запрос не достигнет предела жесткой памяти во время выполнения.

  • 164440350 – Query Optimizer

GPORCA завершается сбоем при попытке создания плана для запроса с подзапросом, имеющим условие UNION.

Проблема решена. GPORCA генерирует план, исключая ненужные преобразования.

  • 164339932 – Query Optimizer

GPORCA терпит неудачу при обработке nested loop join tree с пустым выражением фильтра на внешней стороне.

Проблема решена путем обеспечения того, чтобы GPORCA не обращалась к пустому выражению.

  • 163269748 – Query Optimizer

Most Common Values (MCVs) – наиболее распространенные значения для текстовых колонок не передаются в GPORCA. Это вызывает неточные оценки мощности предикатов с использованием текстовых столбцов, в результате чего GPORCA выбрает неоптимальный план запроса.

Код изменен для передачи MCVs в GPORCA с целью использования в точной оценке мощности для текстовых колонок с равными и не равными операторами.

  • 163202449 – Server

Добавлено автоматическое ведение журнала, чтобы помочь диагностировать редкий сценарий, в котором возникает ошибка “append-only table version -1 is invalid”.

  • 163036156 – Query Optimizer

Для некоторых запросов, в которых указано условие NOT IN с оператором как строгого так и нестрогого сравнения, который может возвращать NULL для операндов, отличных от NULL, GPORCA генерирует неверный результат запроса, возвращая 0 строк.

Проблема решена. GPORCA возвращает соответствующие строки, когда пользовательский запрос указывает условие NOT IN с использованием вышеупомянутых операторов.

  • 6921 – Server

Функция AllocSizeIsValid() базы данных ADB выдает ошибку неучтенной единицы (off by one byte) по сравнению с кодом PostgreSQL. Это означает, что если аргумент является точным MaxAllocSize, ADB возвращает false, тогда как PostgreSQL – true.

Более раннее исправление в основном решило эту задачу, но проблемы все равно возникают, если утверждения не включены. Теперь проблема исправлена.

  • 29716 – Server

Из-за ошибки управления памятью пользователи сталкиваются с ошибкой “Too many sessions” при попытке подключения к базе данных, когда параметр конфигурации сервера gp_vmem_protect_limit установлен в значение 18384 или выше, а кластер ADB при этом несколько раз переустанавливался.

Вопрос решен. База данных ADB правильно инициализирует параметры памяти кластера.