Релизы YMatrix 6

6.8.2

Дата: 2026-07-03


Улучшения и оптимизации

  • Dispatcher оптимизировал внутреннее установление соединений, уменьшив ненужную задержку, связанную с проверками SSL и GSS (#IJPO0H).
  • mxv оптимизировал выполнение сценариев с большим количеством повторяющихся выражений (#IJN1T8).
  • Типизированный кодировщик mxv теперь поддерживает произвольные типы (#IJN5Z6).
  • MARS3 DefaultBrin теперь поддерживает DynamicSeqScan (II8QUI).
  • MARS3 оптимизировал последовательный вывод и оценку стоимости MARS3 BRIN и MARS3 btree, а модель оценки переведена на единицы stripe/range.
  • MARS3 оптимизировал пути доступа RangePage и RangeDescPage за счет ссылок на RangePage и локального кэширования handle RangeDescPage, снижая накладные расходы выполнения.
  • Planner теперь по умолчанию позволяет реплицированным таблицам участвовать в оценке параллельных планов, благодаря чему другие таблицы все еще могут генерировать parallel hash join и другие параллельные планы при наличии реплицированных таблиц.
  • Planner поддерживает раннюю дедупликацию под-планов SetOp на основе потоковой агрегации и генерацию параллельных планов UNION (f33ee72e).
  • Planner оптимизировал стратегию генерации Motion для UNION, INTERSECT и EXCEPT, добавляя Motion только при необходимости (b661cd88, 63a392c6).
  • Planner поддерживает проталкивание OR-условий из HAVING в scan-узлы для ранней фильтрации (80243cc4).
  • Planner поддерживает добавление Motion под дочерние Append-узлы внутри shared CTE для параллельного выполнения (ec4b71ef).
  • Planner поддерживает объединение фильтров ссылок CTE и проталкивание их в shared scan через OR-комбинации (4689893a).
  • Planner при перепланировании shared CTE поддерживает преобразование протолкнутых OR-условий в ANY-выражения для улучшения оценки числа строк (39c417dc).
  • Planner поддерживает вытягивание EXISTS/NOT EXISTS sublink под OR-условиями и выполнение через left outer join (b6015e5b).
  • Planner поддерживает вытягивание expression sublink типа EXPR_SUBLINK в JOIN или left outer join (ec4fe275).
  • Domino stream processing поддерживает одновременное выполнение join и agg в одном stream (#IJQS13).
  • Domino stream processing удаляет избыточные столбцы в двухпоточном left join. Изменение несовместимо с существующими left join stream table; после обновления такие stream table нужно удалить и создать заново (IJQK7I).
  • PXF и pxf_fdw поддерживают HadoopCatalog для таблиц Iceberg v2.
  • В MXUI добавлен шаг Pre-Install: на странице добавления узла можно вводить IP, сопоставлять hostname и синхронизировать файл hosts (IJSVLT, IJS0VB).
  • MXUI Pre-Install поддерживает настройку sudo для пользователя mxadmin, отключение SELinux на хостах и проверку неожиданных правил iptables (IJUK3N, IJUURB, IJV5PK).
  • Интерфейс установки MXUI теперь показывает подробные ошибки на этапе добавления узлов, что упрощает диагностику (IDK1XZ).
  • На странице таблиц данных MXUI добавлен просмотр информации об индексах: имя, тип и размер (IJOT61).
  • В инспекционные проверки MXUI добавлены неожиданные настройки postgresql.auto.conf и неожиданные правила iptables (IJS8GZ).
  • MXUI изменил проверку настройки почтового сервера: если AUTH не включен, имя пользователя больше не проверяется (IJOBO7).
  • При добавлении mirror в MXUI, если доступно несколько дисков, система предложит изменить план по умолчанию (IJXVT1).
  • Сервис загрузки данных MatrixGate поддерживает SSL-шифрованные подключения Kafka. См. Настройка зашифрованного подключения MatrixGate к Kafka (SSL) (IJPJT1).
  • Потоки данных MXUI поддерживают настройку Kafka SSL-аутентификации (IJQB8I).
  • MXCtl изменил структуру таблицы kafka_catalog: при создании таблицы тип столбца id изменен с int на bigint (IJX06J).
  • MXStart поддерживает настройку wrapper, сохраняя исходный процесс запуска и предоставляя возможность расширения запуска postmaster (IJWES2).
  • Etcd обновлен до v3.5.32 для устранения известных CVE (IJY0Z4, IJRN9S).
  • Аварийное восстановление / высокая доступность поддерживает переключение туда и обратно между основным и резервным кластерами (IHWDX4).
  • Аварийное восстановление / высокая доступность использует новый DR-дизайн и поддерживает развертывание primary-mirror, переключение, восстановление и rebuild резервного кластера. См. Руководство пользователя YMatrix 6.8 по аварийному восстановлению (IHWDYR).
  • MXTool добавил возможность сбора информации на месте OOM (IJXNX9).
  • MXTool добавил команду mxtool init numa-wrapper, которая автоматически создает NUMA Wrapper и конфигурацию сопоставления NUMA по текущей топологии кластера и развертывает их на узлах. См. Запуск кластера YMatrix с привязкой к NUMA Node (IJXC57).

Исправления ошибок

  • Исправлена проблема, при которой relabel-выражение типа mxnumeric в mxv не вычислялось, что могло приводить к несовпадению точности (#IJPOE1).
  • Исправлены проблемы Interconnect / IC tunnel, связанные с несовпадением жизненного цикла объектов, отсутствием учета выделения памяти в мониторинге и управлении БД, а также обработкой исключений (#IJPRXZ, #IJTOSS, #IJU2YL).
  • Исправлено ложное срабатывание Assert в оптимизации OR clause Planner, а также синхронизированы отдельные upstream-оптимизации и рефакторинг (#IJPSIM).
  • Исправлена проблема, при которой vMotion мог неверно декодировать numeric при включенном IC-сжатии; также устранены лишние накладные расходы повторного сжатия (#IJRSZ2).
  • Исправлена проблема, при которой вычисление CaseWhen после Append могло вызывать Assert, связанный с точностью mxnumeric (#IJQ1VA).
  • Исправлены проблемы Planner для pkey group by + left join limit pushdown, left join limit pushdown с offset и сценариев, где limit является volatile-выражением (#IJQUIG).
  • Исправлена проблема, при которой spill-файлы mxv не ограничивались ресурсами и не отслеживались (#IJRZPC).
  • Исправлена проблема, при которой повторное использование mxv CaseExpr могло возвращать неверные результаты (#IJU8KD).
  • Исправлена проблема, при которой scan-оператор mxv мог ошибочно возвращать полностью невидимые блоки данных, вызывая crash верхних операторов (#IJVKNJ).
  • Исправлена обработка OOM-ошибок во время threaded insert в MARS3.
  • Исправлена утечка памяти при построении MARS3 btree.
  • Исправлена проблема, при которой GUC default option для MARS3 btree не мог корректно инициализироваться через mxstop/gpstop.
  • Исправлена проблема, при которой обратное сканирование сжатого MARS3 btree могло возвращать неверные результаты.
  • Исправлена проблема неожиданного reset tuplelink в режиме MARS3 bucket.
  • Исправлен возможный crash при многопоточной записи numeric в MARS3.
  • Исправлена блокировка RuntimeFilter pushdown узлом Motion.
  • Исправлена заниженная оценка стоимости MARS3 DefaultBrin (IJUWWC).
  • Исправлена проблема, при которой Planner учитывал mars3brin индекс в сценарии, где DynamicSeqScan пока не поддерживает mars3brin, что могло занижать стоимость и ошибочно выбирать Nested Loop (e6a96b54).
  • Исправлен возможный crash при использовании MARS3 qual pushdown вместе с Inorderscanner.
  • Исправлен возможный OOM при вставке MARS3 в режимах normal и bulk (#IJRFQ3).
  • Исправлена race-проблема offset при MARS3 TOAST TDE encryption.
  • Исправлена проблема, при которой minmax pruning DESC-индекса MARS3 мог возвращать пустой результат (IJVUDZ).
  • Исправлена проблема, при которой параллельный IndexScan MARS3 btree мог давать неверные результаты.
  • Исправлена проблема, при которой пользователь мог DROP уникальный индекс stream table, созданной Domino domino_agg. После обновления плагина выполните ALTER EXTENSION domino UPDATE; (#IBGTPH).
  • Исправлена проблема чрезмерного количества decoder spill-файлов в pg_replslot при длительных активных транзакциях в Domino stream processing. Перед обновлением выполните DROP EXTENSION domino; (#IJS7ZK).
  • Исправлена генерация избыточных SET для уникального ключа при выполнении Domino agg ON CONFLICT.
  • Исправлена потеря информации multiplicity при spill Domino hash agg, приводившая к неверным результатам (#IJVKBB).
  • Исправлена оценка стоимости foreign key для секционированных таблиц в Planner.
  • Исправлена серьезная деградация производительности, которая могла возникать, когда Planner генерировал промежуточный Gather Motion в двухфазной групповой агрегации подзапроса (8759b832).
  • Исправлено возможное целочисленное переполнение на странице мониторинга запросов MXUI при обработке больших значений (IDL1SC).
  • Исправлены аномальные дисковые метрики в представлении метрик MXUI (IJUPZ0).
  • Исправлена проблема, при которой после масштабного падения узлов состояния ETCD и gp_segment_configuration могли расходиться, из-за чего mxstart не запускал кластер; состояние можно исправить командой mxsyncgsc (IJK1YG).
  • Исправлена ошибка bad magic number, которая могла возникать при lz4-операциях MXShift (PR56).

Изменения системных переменных и параметров

Системная переменная / параметр Тип изменения Описание
compresstype=auto Добавлено В MARS3 добавлен параметр сжатия auto, использующий типизированный кодировщик (arraycodec).
Сжатие MARS3 btree auto Изменено поведение по умолчанию Для MARS3 btree по умолчанию включено сжатие auto.
Сжатие rowstore TOAST Изменено поведение по умолчанию В MARS3 по умолчанию отключено сжатие rowstore TOAST.
mars3.enable_btree_inorderscan Добавлено Добавлен GUC для управления MARS3 btree in-order scan. Значение по умолчанию: off.

6.8.1

Дата: 2026-05-25


Улучшения и оптимизации

  • mxv: оптимизировано время построения плана для запросов DELETE WHERE IN с большими списками.
  • fastdd: оптимизировано проталкивание внешних параметров, что повышает эффективность выполнения запросов в соответствующих сценариях.
  • Оптимизатор: повышена эффективность выполнения сценариев с EXISTS и SubPlan.
  • mars3: добавлена поддержка синтаксиса DIMS. См. MARS3 DIMS: объявление измерительных столбцов.
  • mars3: добавлена поддержка плагина diskquota.
  • mars3: в вывод EXPLAIN VERBOSE добавлена информация о default brin.
  • pxf_fdw: код организован как git submodule, что упрощает независимое сопровождение и управление версиями.
  • Domino: оптимизирована производительность callback-функции удержания XLog при частом выполнении VACUUM FREEZE.
  • Matrixgate: оптимизировано использование goroutine во внутреннем компоненте статистики производительности load_metric, что снижает накладные расходы во время выполнения.
  • Matrixgate: добавлен automaxprocs; если GOMAXPROCS не настроен явно, Matrixgate автоматически выбирает подходящее значение для повышения эффективности использования CPU.
  • Matrixgate: улучшено логирование: в журналы set slot добавлены имена таблиц для упрощения диагностики и эксплуатации.
  • Matrixgate: оптимизирована внутренняя логика flush chunk в fasthttp для повышения эффективности HTTP-передачи.
  • Matrixgate: оптимизировано использование памяти: в качестве низкоуровневых буферов используются срезы фиксированного размера, что снижает накладные расходы на выделение памяти и колебания потребления памяти.
  • Matrixgate: добавлен параметр http-segmented-body для управления включением оптимизации памяти. По умолчанию параметр включен. При значении false используется прежнее поведение выделения памяти Matrixgate.
  • Matrixgate: добавлен параметр http-segment-size-kb для указания размера каждого низкоуровневого среза. Значение по умолчанию: 1024KB.
  • Matrixgate: добавлен параметр write-buffer-size для указания размера каждого буфера, используемого при передаче данных от Matrixgate к сегментам.

Исправления ошибок

  • mxv: исправлен сбой, который мог возникать, когда параметр CaseExpr содержит WindowFunc.
  • ic-tunnel: исправлены вложенные сообщения об ошибках, которые могли возникать в отдельных сценариях.
  • Векторизованное выполнение: исправлена проблема, при которой векторизованные операторы не использовали temp tablespace при spill.
  • Векторизованное выполнение: исправлен сбой, который мог возникать в отдельных сценариях при использовании выражения CaseWhen в качестве условия фильтрации.
  • ANALYZE: исправлены неточные статистические данные и завышенная стоимость IndexScan, вызванные переполнением int32.
  • mars3: исправлено ложное срабатывание проверки AttributeNumber в brin-запросах.
  • mars3: исправлена проблема выравнивания проекций в vbitmscan.
  • mars3: исправлена проблема, при которой ALTER COLUMN TYPE мог приводить к недействительности индексов.
  • mars3: исправлена ошибка поиска выражений при обработке вычислений по enum-столбцам в brin.
  • pxf_fdw: обновлена версия submodule для исправления проблем, связанных с JDBC write.
  • Domino: исправлена проблема, при которой restartpoint на mirror мог ошибочно удалить XLog, необходимый декодерам, если плагин Domino был установлен, но потоки отсутствовали.
  • Высокая доступность: исправлена проблема, при которой failover мог занимать слишком много времени в отдельных сценариях сетевых сбоев или отказов хостов.
  • DR: исправлена проблема, при которой WAL replication могла работать некорректно после перезапуска основного или резервного кластера, либо после failover в основном кластере.
  • SOA: исправлена проблема, при которой дисковые исключения могли приводить к длительной блокировке записи без запуска переключения.
  • Matrixgate: исправлена проблема, при которой после настройки количества slot мог оставаться флаг suspend_state.
  • Matrixgate: исправлено преждевременное освобождение соединений с базой данных, что снижает накопление TIME_WAIT на master.
  • ACL: исправлена ошибка создания дочерних таблиц, когда существуют default privileges и на родительской таблице секции также настроены ACL.
  • CTE: исправлена ошибка исполнителя cannot execute alien Share Input Scan, возникавшая при одновременном наличии MergeAppend и ShareInputScan.

6.8.0

Дата: 2026-04-10


Новые функции

Улучшения и оптимизации

  • В векторизованном исполнителе по умолчанию включено сжатие рабочих файлов для повышения производительности OLAP-запросов (#IDLDVM).
  • Оптимизирована производительность VHashAgg в векторизованном исполнителе (#ID1ZOU).
  • Оптимизирована производительность выражений CASE WHEN в векторизованном исполнителе (#ICG6WD).
  • Добавлена поддержка right anti semi join (NOT IN) в планировщике.
  • Планировщик теперь поддерживает параллельное выполнение right semi join в определённых сценариях.
  • Оптимизировано вычисление HashAgg для distinct-запросов с предложением LIMIT в планировщике (#IFTTUK).
  • Исторические снапшоты движка хранения MARS3 теперь поддерживают оптимизацию definitelydead.
  • Оптимизировано высокое потребление памяти в движке хранения MARS3 при выполнении операций Compact и Scanner в режиме UniquMode (#IDQ5SC).
  • Улучшена потоковая обработка Domino: файлы снапшотов теперь корректно сохраняются на узлах, где есть только декодеры, но нет активных потоков (#IHQ0QJ).
  • VHashAgg теперь использует HashMap с одной партицией (#ID4BKB).
  • В mxshift операции DDL больше не мигрируют временные последовательности (#IFXYJD).
  • Расширение mxnumeric обновлено до версии 0.3 с улучшением производительности и корректности преобразований типов. См. Руководство пользователя mxnumeric (#IDQ5U7).
  • В matrixts функция timebucket_auto теперь поддерживает автоматическую сортировку по временным бакетам при возврате результата.
  • MatrixUI теперь поддерживает создание шаблонов потоковых таблиц.
  • Порт pprof в MatrixUI теперь по умолчанию отключён; его можно включить через веб-интерфейс (#ICZZRT, #PR257).
  • Компоненты SOA-сервиса больше не публикуют адрес pprof по умолчанию. Его можно временно включить или отключить, отправив сигнал: sudo kill -USR2 -p <pid_of_soa_program>.

Исправления ошибок

  • Исправлена утечка памяти в векторизованном узле динамического сканирования (#IHU1XW).
  • Исправлена ошибка, из-за которой векторизованная иерархическая агрегация могла выдавать неверные результаты при использовании ключей группировки типа numeric (#IHV2SD).
  • Исправлено зависание, вызванное чрезмерным потреблением памяти в VHashAgg при операциях над одной секцией (#IHQQ7C).
  • Исправлена проблема переполнения RangeNumber в движке хранения MARS3.
  • Исправлена ошибка выхода за границы буфера при использовании ctidreader в движке хранения MARS3.
  • Исправлена проблема, при которой команда VACUUM FULL удерживала блокировки длительное время, блокируя autocompact в движке хранения MARS3.
  • Исправлена ошибка некорректной установки состояния HEAD_UPDATED в движке хранения MARS3.
  • Исправлена передача неверных pathkeys, когда B-деревья содержали выражения в движке хранения MARS3.
  • Исправлено избыточное выделение памяти в функции expandDataBuffer движка хранения MARS3.
  • Исправлена проблема, при которой страницы, создаваемые через интерфейс extend в движке хранения MARS3, не получали независимых LSN.
  • Исправлена проблема, при которой страницы в RangeFile движка хранения MARS3 не получали независимых LSN.
  • Исправлена ошибка вывода невидимых данных при упорядоченных запросах в определённых условиях в движке хранения MARS3 (#IHOG6P).
  • Исправлена проблема воспроизведения XLog, вызванная повторным использованием файлов между режимами buffer и append в движке хранения MARS3.
  • Исправлена утечка origin в потоковых вычислениях Domino (#IELBXU).
  • Исправлен сбой при выполнении триггеров на родительской таблице секционированной таблицы, содержащей индекс ROI.
  • Исправлена ошибка сопоставления типов для функций при миграции DDL в mxshift (#IFTO9Q).
  • Исправлена неожиданная очистка DLog на Primary-ноде из-за обращения со стороны hot standby master (#IDN7OW, #IHPEEY).
  • Исправлены редкие ошибки связи gRPC в mxarchive (#IHPJHY).
  • Исправлена потенциальная утечка небольшого количества таблиц в batchstore (#IHTGBR).
  • Исправлена ошибка, при которой UnorderedMap не использовал указанный аллокатор, и добавлена поддержка выделения памяти с выравниванием по 16 байт.
  • Исправлена проблема отображения некоторых китайских псевдонимов как «unknown» в версии 6.7.1 в производственной среде (#IHTSUB).
  • Исправлены неверные результаты векторизованного hashagg в community-версии 5.3.2 (#IE4G78).
  • Исправлен неожиданный panic в циклических задачах MatrixUI во время процесса очистки.
  • Исправлен сбой при выполнении команды COPY FROM STDIN BINARY с типом mxnumeric (#IFTSFR).
  • Исправлена потенциальная ошибка доступа за пределы выделенной памяти в HashAgg для типа mxnumeric (#IHQRC9).
  • Исправлен сбой, вызванный некорректным управлением временем жизни строк с именами в выражениях сравнения ORCA (#IDOJQZ).
  • Исправлена семантика параметра domino.tlog_keep_size: теперь журналы сохраняются даже если прогресс потока опускается ниже этого порога (#IFVBI6).
  • Исправлен сбой в платформе плагинов IC, вызванный преждевременным освобождением памяти объекта соединения (#IDP0E6).
  • Исправлено медленное время отклика функции nextval() в ic-tunnel (#IH8XI3).
  • Исправлена проблема, при которой процессы QD или QE могли не завершаться в аномальных состояниях в ic-tunnel (#II888D).

Изменения системных переменных

Системная переменная Тип изменения Описание
gp_workfile_compression Изменено значение по умолчанию Значение по умолчанию изменено с off на on.
gp_interconnect_type Изменено значение по умолчанию Значение по умолчанию изменено с udpifc на tunnel.
enable_dynamic_seqscan Новая переменная Значение по умолчанию: on.Оптимизатор планировщика теперь поддерживает DynamicSeqScan для сканирования секционированных таблиц, обеспечивая эффективное сканирование без необходимости использования ORCA.
mx_enable_motion_runtime_filter Новая переменная Значение по умолчанию: on.При включении получатели VMotion сразу после получения строк применяют фильтрацию с помощью Bloom-фильтров, отбрасывая строки, не удовлетворяющие условиям. Это снижает объём данных, передаваемых в вышестоящие узлы.

6.7.1

Дата: 2026-02-24


Улучшения и расширения функциональности

  • Лицензия: увеличен срок действия лицензии по умолчанию с 14 до 30 дней.
  • MatrixUI: добавлено новое правило мониторинга работоспособности, переводящее базу данных в режим «только чтение» при превышении настраиваемого порога использования дискового пространства. По умолчанию отключено. (Документация)
  • MatrixUI: добавлена автоматическая настройка после установки.
  • MatrixUI: добавлена поддержка управления группами ресурсов через веб-интерфейс.
  • Interconnect: введён новый тип взаимодействия между узлами — tunnel. (#IBYKKI, #IDJ25J, #IDJI2M, #IDK0VN, #IDK12C, #IDLK5H, #IDLORC, #IDN2S0) (Документация)
  • Векторизация: упрощена и улучшена логика удаления дубликатов в векторизованном vtle.
  • Векторизация: добавлена поддержка runtime-фильтров в VDynamicSeqScan. (#IB1ETW)
  • Domino v2: добавлена поддержка функциональности набора сегментов (segment set). (#IDF1ON)
  • Переписывание запросов: реализовано объединение классов эквивалентности при переписывании запросов на основе правил (RULE). (#IDKPN8)
  • Векторизация: добавлена поддержка FULL OUTER JOIN в vhashjoin. (#IDI95T)
  • Динамическое исключение секций (DEP): узел выбора секций теперь полностью поддерживает параллельное выполнение.
  • PXF: расширен набор типов данных, поддерживающих pushdown.
  • PXF: добавлена конфигурационная опция clean_nul для управления обработкой байтов 0x00:
    • В режиме replace байт 0x00 заменяется с помощью функции REPLACE() при выполнении запросов SELECT.
    • В режиме filter байт 0x00 удаляется на этапе разбора данных столбцов PXF.
  • Интеграция: модули PXF/FDW интегрированы в matrixdb/gpcontrib/pxf_fdw.
  • Сообщения об ошибках: улучшены тексты ошибок — теперь они включают имена столбцов и фактические значения в контексте.

Исправления ошибок

  • Исправлен сбой в векторизованном VShareInputScan, возникавший при вызове EndScan. (#IDI6LH)
  • Исправлено избыточное декодирование несвязанных изменений в Domino. (#IDHAG0)

    Примечание: требуется обновить расширение domino до версии 1.4.

  • Исправлена ошибка в Domino: table row type and query-specified row type do not match, возникавшая при планах агрегации по секциям. (#IDKCG9)
  • Исправлена ошибка двойного снятия блокировки (double-unpin) в mars3 btree при откате транзакции.
  • Исправлен некорректный код возврата при параллельных операциях UPDATE в mars3, если встречается прерванная последовательность (aborted run).
  • Исправлено отсутствие обновления статистики после загрузки данных через COPY в mars3.
  • Исправлен некорректный код возврата при параллельных операциях DELETE в mars3, если встречается PartialVacuum.
  • Исправлено некорректное чтение ctid вне блокировок при параллельных операциях DELETE в mars3.
  • Исправлена ошибка "Cannot get shared run cursor" в mars3.
  • Исправлен сбой в mars3 при вызове feedstream во время выполнения запросов в режиме UNIQUE.
  • Исправлено накопление очереди (backlog) в mars3 из-за невозможности выбора завершённых последовательностей (runs).
  • Исправлено несогласованное обновление битов состояния при параллельных операциях UPDATE/DELETE в mars3.
  • Исправлена ошибка в логике объединения классов эквивалентности в переписывателе запросов. (#DMVKA)
  • Исправлен переполнение стека в superfast, вызывавшее чрезмерное количество аварийных дампов в клиентских средах. (#IDMBBN)

6.7.0

Дата: 2025-12-31


Улучшения и доработки

  • Добавлена функциональность плагина pg_audit (Документация)
  • Добавлена функциональность плагина postgres_anonymizer (Документация)
  • Улучшен механизм отладки использования памяти (#ID7MGJ)
  • Переработан VSort с использованием модели Push & Pop и обновлён до Sorter v2 (#ID4MDW)
  • Оптимизирована производительность VHashJoin при генерации результатов из внутренних таблиц с большим количеством полезных столбцов (#ID49WR)
  • Добавлена поддержка расширения одного раздела
  • mars3 теперь завершает блокирующие задачи компактификации при удалении или усечении таблицы
  • Сняты ограничения на порядок столбцов в уникальных индексах для потоковых соединений в Domino, а также добавлена поддержка отношений эквивалентности (#ID680O)
  • Domino теперь позволяет ссылаться на выражения из правой таблицы в списке целевых столбцов левого потокового соединения (#ID7W7R)
  • Domino теперь поддерживает неравенственные соединения (non-equi joins) в двойных потоках (#IDFZ1M)
  • В MXUI добавлен переключатель для управления монтированием маршрута PPROF (#ICZZRT)
  • В MXUI удалена карточка журнала ошибок с главной страницы и заменена на карточку мониторинга состояния
  • В MXUI улучшена карточка информации о кластере на главной странице — теперь она отображает более подробные метрики кластера
  • Оптимизатор/исполнитель теперь поддерживает Right Anti Join и Right Semi Join (пока несовместимы с параллельным режимом) (#ID3N68)
  • pg_rewind теперь поддерживает инкрементальное восстановление для таблиц mars3 (#IB6GO0)

Исправления ошибок

  • Исправлена проблема, при которой VMergeAppend мог выдавать дублирующиеся данные (#ID8HJB)
  • Исправлен сбой, возникающий при копировании массива числовых типов, содержащего только значения NULL (#IDA5OE)
  • Исправлено отсутствие поддержки вывода строк внешней таблицы без совпадений в hashjoin ANTI join (#IDB0W8)
  • Исправлены некорректные результаты top-k сортировщика VSort в определённых случаях (#IDBA94)
  • Исправлены потенциальные утечки памяти в VHashJoin при обработке исключений (#IDAMBC)
  • Исправлено некорректное сообщение об ошибке (вместо аварийного завершения) при неудачном выделении памяти через оператор new (#IDBOWG)
  • Исправлен сбой в VSort при использовании упакованного сортировщика (packed sorter) (#IDBXTG)
  • Исправлена несинхронизация параметра GUC, управляющего включением алгоритма VSort, между сегментами (#IDBXTG)
  • Исправлен сбой, вызванный повторным использованием VTle во время векторизованной оценки условий типа BoolExpr (#IDGF7K)
  • Исправлен сбой конечного автомата VHashJoin (IDFXVS)
  • Исправлено отсутствие генерации VIndexScan в определённых сценариях (#ID8RZ4)
  • Исправлена ошибка при создании ROI-индексов на таблицах mars3 (#IDCHAB)
  • Исправлен неверный расчёт размера удержания tlog в Domino (#IDD6TO)
  • Исправлен неэффективный поиск relid родительской таблицы в декодере Domino для секционированных таблиц (#IDDPND)
  • Исправлена регрессия LSN при перезапуске логического декодирования в Domino (#IDEN4L)
  • Исправлен непреднамеренный перезапуск останавливаемых декодеров в Domino (#IDG09F)
  • Исправлено исчерпание дискового пространства из-за чрезмерного ведения журнала ошибок, когда MXUI Telegraf длительное время не может отправлять данные (#IDB0A0)
  • Устранена потенциальная уязвимость к SQL-инъекциям в MXUI
  • Исправлена некорректная логика проталкивания предикатов (predicate pushdown) в драйвере JDBC FDW компонента PXF
  • Исправлено несогласованное неявное преобразование точности в mxnumeric, которое могло приводить к ошибкам запросов или сбоям (#IDCGQM)
  • Исправлен сбой в узлах Sort при получении сигнала QueryFinishPending (#IDDDAP)
  • Исправлена проблема в механизме перезаписи лимита при push-down левого соединения при использовании неквалифицированных имён столбцов (#ID8GUC)
  • Исправлена проблема отображения: в режиме ORCA включённом китайские символы отображались как «unknown», тогда как в выключенном режиме отображались корректно (#ID8A4M)
  • Исправлены зависающие операторы INSERT, которые никогда не завершались (#ID8REG)
  • Исправлена ошибка запуска mxchangeport в средах без зеркал или резервных узлов
  • Исправлено игнорирование приведения типов при выводе временного диапазона в функции gapfill
  • Исправлены деградировавшие планы выполнения для операторов INSERT (#IDC30U)

6.6.1

Дата: 2025-11-17


Улучшения и доработки

  • Добавлена логика очистки для trigger function при разделении секций, а также предупреждение с призывом к ручной очистке в случае возникновения ошибки.
  • В mars3 введена новая оптимизация проверки видимости транзакций.
  • Улучшены скалярные последовательные сканирования для включения информации RowRemoveFilter.
  • Повышена производительность векторизованной сортировки в векторизованном движке выполнения при обработке большого количества столбцов с данными по ссылке (#ID01L8).
  • Добавлено автоматическое создание расширения dblink перед выполнением APM-задач в Cylinder.

Исправления ошибок

  • Исправлена ошибка, при которой команда psql \dPt+ не могла найти функцию pg_size_pretty() при использовании с mxnumeric (#ID5VDC).
  • Устранён сбой, возникающий при повторном включении GUC-параметра vwindow после перезапуска кластера, если он был ранее отключён (#ID5SG0).
  • Исправлена ошибка при вставке numeric[] в pgvector после создания расширения mxnumeric (#ID07BA).
  • Исправлены некорректные результаты запросов в случайных тестах на ветке master при включённой векторизации и отключённом параллелизме (#ID6H3P).
  • Исправлено аномальное поведение vscan при применении RowRemoveFilter.
  • Обеспечено своевременное обновление значений у волатильных функций, таких как clock_timestamp(), при изменении результатов в движке потоковой обработки Domino (#ID4DIE).
  • Устранена утечка контекста памяти в декодере Domino (#ID63W4).
  • Исправлена некорректная запись cdbpolicy в relcache для внешних таблиц, созданных через CREATE FOREIGN TABLE в рамках одной транзакции в PXF (#ID5I91).
  • Исправлена проблема, при которой правила rewrite не применялись, когда одновременно существовали правила rewrite и forbid в mxrule (#ID6OZ2).
  • Исправлена неточная информация, отображаемая векторизованным оператором сортировки VSort в выводе EXPLAIN ANALYZE (#ICZFKC).
  • Устранено потенциальное чрезмерное использование памяти в векторизованном движке выполнения при сортировке top-k.
  • Устранена проблема в движке потоковой обработки Domino, при которой новые зафиксированные транзакции не были видны во время логического декодирования (#ID6CF8).

6.6.0

Дата: 2025-11-10


Улучшения и доработки

  • Добавлена поддержка default-brin в mars3. (Документация)
  • Оптимизирован размер XLOG для mars3 в однопоточном режиме.
  • В mars3 включена поддержка параллельных операций ALTER TABLE SPLIT PARTITION. Поддерживаются параллельные операции чтения и записи во время разделения (в настоящее время не поддерживается для таблиц AO/CO, стримовых таблиц или родительских таблиц с триггерами).
  • Введена утилита mxchangeport для изменения конфигурации портов master/standby (Документация)(#IBAONY).
  • Оптимизировано выравнивание данных в алгоритмах слияния mxv, что улучшило производительность vsort, vmergeappend и vmotion (#ID0MF6).
  • Производительность vmotion улучшена за счёт оптимизации доступа к интерфейсам взаимодействия (#ID0S2W).
  • Производительность vhashagg улучшена при использовании нескольких ключей группировки (#ID0SFE).
  • Производительность VWindowAgg улучшена при малом размере секций (#ID1M6B).
  • Производительность vhashagg повышена при больших квотах памяти (#ID1ZW6).

Исправления ошибок

  • Исправлена ошибка, при которой китайские псевдонимы отображались как unknown в C locale + ORCA (#ID1JUF).
  • Исправлены проблемы совместимости функции COALESCE (#ID3VVM).
  • Исправлено чрезмерное использование памяти в vhashagg при большом размере входных данных (#ID400D).
  • Исправлены проблемы доступа к null-значениям при использовании mxnumeric в качестве ключа группировки (#ID4X56).
  • Исправлены ошибки при push-down операций LEFT JOIN LIMIT при обработке таблиц с удалёнными столбцами (#ID56S4).
  • Исправлены ошибки при push-down агрегатов при обработке таблиц с удалёнными столбцами (#ID56S4).
  • Исправлена ошибка "requested TLog segment ... has already been removed" в декодере domino после перехода на резервный узел (#ID3339).
  • Исправлено некорректное сохранение версий строк в domino (#ID2PC8).
  • Исправлены ошибки "invalid magic number" при восстановлении декодера из журнала транзакций и обеспечено надёжное срабатывание восстановления (#ICWFMD).
  • Исправлены потенциальные ошибки "replication slot is active" при выполнении DROP STREAM (#ICYE5T).
  • Исправлена невозможность autoexplain выводить планы domino (#IC7FOW).
  • Исправлены ошибки в autoprobe mars3.
  • Исправлены сбои в compactjob mars3 во время pickrun.
  • Устранено дополнительное потребление CPU при отсутствии сжатия или неэффективности сжатия XLOG данных столбцовых таблиц mars3.
  • Добавлена поддержка многопоточной вставки в mars3 (работает только при prefer_load_mode = normal или bulk, если объём данных превышает порог rowstore).
  • Исправлены проблемы с чрезмерным использованием памяти в mxui (#ID42DK, #ICCBXV).
  • Исправлено зависание базы данных при создании таблиц после восстановления инкрементной резервной копии из-за установки mx_gp_syncrep_count в значение 1 (#ID30A1).
  • Устранено ограничение, запрещавшее изменение типа распределительного ключа для таблиц, распределённых на одном узле (#ID2XXU).

6.5.1

Дата:2025-10-10


Улучшения и доработки

  • Добавлена поддержка автоматической синхронизации времени на всех машинах кластера
  • TDE теперь поддерживает ротацию мастер-ключей (#ICTTER)
  • Добавлено средство командной строки для проверки согласованности версии программного обеспечения базы данных на всех машинах кластера (#IB49DN)
  • Добавлено логирование логики расчёта shared_buffers, max_connections и gp_vmem_protect_limit (#ICUPGA)
  • Оптимизирована десериализация данных типа указателя с фиксированной шириной содержимого (#ID0E4M)
  • Улучшена производительность приёма при использовании vmotion с предложением OFFSET (#ID0E2Y)
  • Устранено снижение производительности в vmotion из-за чрезмерно мелкого разбиения отправки данных (#ID0QC3)
  • Оптимизировано чрезмерное потребление памяти в VSort и управление размером блоков для результирующего набора (#ICW0NR)
  • Оптимизировано управление размером блоков для результирующих наборов vhashjoin (#ICGFXG)
  • Устранено чрезмерное время выполнения планов orca с большими списками IN (#ICO42C)
  • Реализована адаптация сравнений типа mxnumeric и оценки количества строк в orca (#IC8L9M)
  • Оптимизирован SAOP в исполнителе с помощью хеш-алгоритмов и завершена адаптация orca (#ICYAND)
  • SF теперь поддерживает InFilter для типов mxnumeric (#ICYAMX)
  • InFilter теперь поддерживает NOT IN (#ICYRU1)
  • Векторизованный резервный DatumInFilter использует хеш-оптимизацию (#ICYRTW)
  • Оптимизирована логика генерации путей параллельного сканирования для реплицированных таблиц, исключена ненужная передача данных

Исправления ошибок

  • Исправлена логическая ошибка при расчёте shared_buffers во время развёртывания или масштабирования базы данных (#ICUPGA)
  • Исправлено некорректное использование контекста памяти пользовательскими аллокаторами в contentcache при выделении памяти
  • Исправлена потенциальная утечка памяти в vhashjoin при наличии функций в ассоциативных ключах (#ID0328)
  • Исправлено снижение эффективности при обработке vhashagg с большими квотами памяти (#ICMKY7)
  • Исправлено потенциальное чрезмерное использование памяти в резидентных в памяти секциях vhashjoin (#ID066O)
  • Исправлен сбой при обработке вывода точности mxnumeric в резервных выражениях (#ID09FX)
  • Исправлены сбои, вызванные неправильным повторным использованием булевых выражений (#ID0C7S)
  • Исправлено некорректное использование резервного пути в stddev и variance (#ICX7Y4)
  • Исправлена ошибка, при которой не сообщалось об ошибке при создании таблиц с помощью CREATE TABLE AS с несуществующими segment_sets (#ICSWWP)
  • Исправлены некорректные результаты при маршрутизации Direct Dispatch на неправильный узел (#ICXLOS)
  • Исправлено двойное освобождение памяти при создании CScalarAggFunc с использованием имён функций из временного MemoryPool (#ICWHIQ)
  • Исправлены некорректные результаты DatumInFilter при нестрогой функции сравнения (#ICYAND)
  • Исправлены некорректные результаты при неправильной обработке visibits в VMergeAppend (#ICW7Z8)
  • Исправлены сбои базы данных, вызванные CREATE TABLE xx (LIKE INCLUDING INDEXES INCLUDING DEFAULTS) во время выполнения SQL-скрипта
  • Исправлены некорректные результаты запросов в случайных тестах в версии 6.5.0 (#ICWH3V)
  • Исправлена заниженная оценка стоимости индексов mars3
  • Исправлен расчёт строк параллельного пути в CTE
  • Исправлен сбой при перезагрузке mars3_default_storage_options
  • Исправлено, что mars3 позволял изменять распределительные ключи для непустых таблиц
  • Исправлён расчёт размера таблицы mars3, не учитывавший метаданные
  • Исправлены некорректные результаты mars3 в сценариях Nestloop+IndexScan (#ICXM61)
  • Исправлено, что waitlock компакт-воркера mars3 не освобождался (#ICWI5X)
  • Исправлена проблема, при которой реплицированные таблицы могли потенциально вызывать операции motion
  • Исправлено чрезмерное использование памяти при операциях ALTER TABLESPACE в Mars3

6.5.0

Дата:2025-09-01


Новые функции версии

  • MMatrixUI добавлена визуализация запуска/остановки базы данных (Документация)
  • YMatrix представлена прозрачная шифрование (TDE), поддерживающая режимы управления как в локальной файловой системе, так и в системе KMS (Документация)
  • Добавлено расширение mxnumeric, предоставляющее высокопроизводительную альтернативу типам pg numeric (#IC5W77)
  • Изменена настройка collate по умолчанию с en_US.UTF-8 на C
  • По умолчанию pg_basebackup отключает проверку контрольных сумм страниц

Улучшения и доработки

  • OpenSSL теперь поддерживает управление памятью, используемой зависимостями OpenSSL, через MemoryContext
  • В Domino Stream Computing добавлен оператор DROP STREAM ... CASCADE, позволяющий каскадное удаление нескольких потоков
  • В Domino Stream Computing добавлена поддержка LEFT JOIN двух потоков
  • Из mars3 удалён необязательный код расчёта контрольных сумм страниц
  • Планировщик теперь поддерживает улучшение производительности за счёт push-down лимита левых соединений при определённых условиях (#ICR5W4)
  • default on update теперь поддерживает функцию statement_timestamp() (#ICSXCO)
  • Оптимизирована детализация обработки данных mxvector (#IBN0UL)
  • Реализована нативная поддержка bpchar для mxvector (#ICMK1N)
  • mxvector теперь поддерживает dynamic index / indexonly / bitmap scan (#ICMAKJ)
  • Добавлен GUC-параметр default_null_ordering для управления поведением сравнения значений NULL по умолчанию (#ICLK31)
  • mxnumeric: оптимизированы возможности сериализации AvgState (#ICPARV)
  • mars3 теперь поддерживает сканирование btree в порядке обхода
  • mars3 теперь поддерживает инкрементальные операции analyzedb и инкрементальные mxbackup
  • mars3 ослабил ограничения на последовательности при создании индексов btree в уникальном режиме
  • mars3 теперь поддерживает операции delete в сценариях уникального режима
  • В mars3 введены два новых GUC-параметра: mars3.default_storage_options и mars3.default_btree_options, для указания параметров хранения mars3 по умолчанию

Исправления ошибок

  • Исправлена проблема, при которой права доступа к каталогам файлов могли быть установлены некорректно во время установки, если в среде umask не равен 0022.
  • Исправлены частые переключения сегментов базы данных, вызывавшие сбои узлов сегментов (#ICQV1B)
  • Исправлен сбой resgroup при выполнении в bgworker (#ICW7GR)
  • Исправлена ошибка: cannot execute squelched plan node of type: 115 (#ICUBOK)
  • Исправлена проблема, при которой выполнение SQL превышало 30 минут без завершения (#ICPA1L)
  • Исправлен сбой при выполнении SQL-скрипта при встрече оператора CREATE TABLE xx (LIKE INCLUDING INDEXES INCLUDING DEFAULTS) (#ICVSU9)
  • mxvector исправлена некорректная обработка visibits в VMergeAppend, приводившая к ошибочным результатам (#ICW7Z8)
  • Планировщик: исправлены ошибки, возникающие при ALTER TABLE с ограничениями
  • mars3: исправлены ошибки выделения памяти при ALTER TABLE SET TABLESPACE
  • mars3: исправлены проблемы повреждения данных после ALTER COLUMN в таблицах AOCO
  • mars3: исправлены ошибки «файл не существует» во время авто-заморозки
  • mars3: исправлены ошибки при обновлении материализованных представлений
  • mars3 исправлены несоответствия в B-дереве mars3 родительских таблиц секционированных таблиц

6.4.11

Дата: 2026-07-03


Исправления ошибок

  • Исправлена проблема, при которой spill-файлы векторизованного исполнителя не ограничивались и не отслеживались, что предотвращает превышение ожидаемого использования временных файлов.
  • Исправлена ошибка при VarInt-кодировании типов, представленных отрицательными числами, в векторизованном исполнителе.
  • Исправлен потенциальный сбой, когда у производителя VShareInputScan отсутствовал child.
  • Исправлена проблема, при которой VHashJoin Anti Join мог возвращать неверные результаты, когда требовалось вывести внутреннюю таблицу.
  • Исправлена ошибка lz4 bad magic number в mxshift.
  • В MXUI скорректирована логика проверки при отключенном AUTH на почтовом сервере: имя пользователя больше не проверяется.
  • Исправлено потенциальное целочисленное переполнение на странице мониторинга запросов MXUI при обработке больших значений.
  • Исправлены аномальные дисковые метрики в представлении метрик MXUI.
  • Исправлена проблема, при которой mxstart -a продолжал ожидание, если оба segment с одинаковым content в gp_segment_configuration имели status='d'.
  • SOA усилила логику автоматического обновления gp_segment_configuration при failover, предотвращая ситуацию, когда оба segment в одном content находятся в состоянии status='d'.

6.4.10

Дата: 2026-05-25


Улучшения и доработки

  • fastdd: оптимизировано проталкивание внешних параметров, что повышает эффективность выполнения запросов в соответствующих сценариях.
  • pxf_fdw: код организован как git submodule, что упрощает независимое сопровождение и управление версиями.
  • Matrixgate: оптимизировано использование goroutine во внутреннем компоненте статистики производительности load_metric, что снижает накладные расходы во время выполнения.
  • Matrixgate: добавлен automaxprocs; если GOMAXPROCS не настроен явно, Matrixgate автоматически выбирает подходящее значение для повышения эффективности использования CPU.
  • Matrixgate: улучшено логирование: в журналы set slot добавлены имена таблиц для упрощения диагностики и эксплуатации.
  • Matrixgate: оптимизирована внутренняя логика flush chunk в fasthttp для повышения эффективности HTTP-передачи.
  • Matrixgate: оптимизировано использование памяти: в качестве низкоуровневых буферов используются срезы фиксированного размера, что снижает накладные расходы на выделение памяти и колебания потребления памяти.
  • Matrixgate: добавлен параметр http-segmented-body для управления включением оптимизации памяти. По умолчанию параметр включен. При значении false используется прежнее поведение выделения памяти Matrixgate.
  • Matrixgate: добавлен параметр http-segment-size-kb для указания размера каждого низкоуровневого среза. Значение по умолчанию: 1024KB.
  • Matrixgate: добавлен параметр write-buffer-size для указания размера каждого буфера, используемого при передаче данных от Matrixgate к сегментам.

Исправления ошибок

  • VHashJoin: исправлены неверные результаты при обработке частичных пакетов данных с использованием fallback hash function.
  • Векторизованное выполнение: исправлена проблема, при которой векторизованные операторы не использовали temp tablespace при spill.
  • pxf_fdw: обновлена версия submodule для исправления проблем, связанных с JDBC write.
  • mars3: исправлена проблема выравнивания проекций в vbitmscan.
  • mars3: исправлена проблема, при которой ALTER COLUMN TYPE мог приводить к недействительности индексов.
  • SOA: исправлена проблема, при которой дисковые исключения могли приводить к длительной блокировке записи без запуска переключения.
  • Matrixgate: исправлена проблема, при которой после настройки количества slot мог оставаться флаг suspend_state.
  • Matrixgate: исправлено преждевременное освобождение соединений с базой данных, что снижает накопление TIME_WAIT на master.

6.4.9

Дата: 2026-04-15


Улучшения и доработки

  • Добавлена поддержка флага definitelydead в исторических снимках MARS3 для оптимизации обработки снимков.
  • Компонент службы SOA больше не публикует адрес pprof по умолчанию. Временное включение или отключение можно выполнить, отправив сигнал USR2: sudo kill -USR2 -p <pid_of_soa_program>.
  • Обновлена внутренняя зависимость supervisor до github.com/cilium/ebpf для устранения потенциальных уязвимостей безопасности (PR25).
  • MatrixUI теперь отключает порт pprof по умолчанию и предоставляет новый переключатель для управления монтированием маршрута pprof (#ICZZRT, PR257).
  • Узлы Domino, содержащие только декодеры без активных потоков, теперь корректно сохраняют файлы снимков (#IHQ0QJ).
  • Операции с использованием mxinitstandby для удаления первичных узлов с preferred_role=m отключены. Для миграции master-узлов следует использовать mxmoveseg, чтобы предотвратить случайные действия, восстановление после которых затруднено (#IDQ5LG).
  • При миграции DDL через mxshift временные последовательности больше не переносятся (#IFXYJD).

Исправления ошибок

  • Исправлена проблема переполнения RangeNumber в движке хранения MARS3.
  • Исправлен сбой при выполнении триггеров на родительской таблице секционированной таблицы с индексом ROI.
  • Исправлена проблема, при которой команда VACUUM FULL удерживала блокировки длительное время, блокируя autocompact (#IDM69L).
  • Исправлены неверные результаты векторизованного hashagg в community-версии 5.3.2 (#IE4G78).
  • Исправлен сбой при создании объектов в mxkv/mxkv2 в средах без публичного search_path (#IFTZVF).
  • Исправлен сбой при выполнении команды COPY FROM STDIN BINARY с типом mxnumeric (#IFTSFR).
  • Исправлены редкие ошибки связи gRPC в mxarchive (#IHPJHY).
  • Исправлена ошибка сопоставления типов функций при миграции DDL через mxshift (#IFTO9Q).
  • Устранена потенциальная уязвимость к SQL-инъекциям в MatrixUI.
  • Исправлена проблема, при которой Telegraf в MatrixUI долгое время не отправлял данные, из-за чего журналы ошибок заполняли диск (#IDB0A0).
  • Исправлен неожиданный panic в циклических задачах MatrixUI во время процесса очистки.
  • Исправлена неполная восстанавливаемость некоторых метаданных кластера с помощью внутреннего инструмента etcdrecover (PR378).

6.4.8

Дата: 2026-02-24

Исправления ошибок


  • Исправлен сбой в ShareInputScan при вызове EndScan в стандартном исполнителе. (#IDI6LH)
  • Исправлен сбой в VShareInputScan при вызове EndScan во векторизованном исполнителе. (#IDI6LH)
  • Улучшено переписывание запросов на основе правил: добавлена попытка объединения классов эквивалентности. (#IDKPN8)
  • Исправлена ошибка в логике объединения классов эквивалентности в переписывателе правил. (#DMVKA)
  • Исправлена ошибка двойного снятия блокировки (double-unpin) в mars3 btree при откате транзакции.
  • Исправлен некорректный код возврата при параллельных операциях UPDATE в mars3, если встречается прерванная последовательность (aborted run).
  • Исправлен некорректный код возврата при параллельных операциях DELETE в mars3, если встречается PartialVacuum.
  • Исправлено некорректное чтение ctid вне блокировок при параллельных операциях DELETE в mars3.
  • Исправлена ошибка "table row type and query-specified row type do not match" в планах агрегации по секциям Domino. (#IDKCG9)
  • Исправлено накопление очереди (backlog) в mars3 из-за невозможности выбора завершённых последовательностей (runs).
  • Исправлено несогласованное обновление битов состояния при параллельных операциях UPDATE/DELETE в mars3.

6.4.7

Дата: 2026-01-09


Исправления ошибок

  • Исправлена ошибка в Domino, связанная с некорректным расчётом зарезервированного размера tlog (#IDD6TO).
  • Исправлен неэффективный запрос relid родительской таблицы при логическом декодировании секционированных таблиц в Domino (#IDDPND).
  • Исправлена регрессия в Domino, из-за которой LSN перезапуска логического декодирования мог смещаться назад (#IDEN4L).
  • Исправлена проблема в Domino, при которой декодер, находящийся в процессе завершения работы, неожиданно перезапускался (#IDG09F).
  • Исправлена ошибка при создании ROI-индексов на таблицах MARS3 (#IDCHAB).
  • Исправлена периодически возникающая ошибка при чтении ctidarray в MARS3 (#IDH9FE).
  • Исправлен потенциальный сбой в узле Sort при получении сигнала QueryFinishPending (#IDDDAP).
  • Исправлена регрессия плана запроса при выполнении операций INSERT (#IDC30U).
  • Исправлен сбой, вызванный повторным использованием VTle во время векторизованного выполнения при разборе условий типа BoolExpr (#IDGF7K).
  • Исправлена ошибка, которая могла возникать при выполнении операции Mark & Restore в векторизованном VSort, если файлы выгрузки (spill files) были объединены (#DGW0N).

6.4.6

Дата: 2025-12-15


Улучшения и доработки

  • Добавлена функциональность плагина pg_audit (Документация)
  • Добавлена функциональность плагина postgres_anonymizer (Документация)
  • Усилен механизм отладки потребления памяти (#ID7MGJ)
  • В mars3 добавлена поддержка завершения блокирующих задач compact при выполнении DROP TABLE или TRUNCATE TABLE, если они удерживают блокировки

Исправления ошибок

  • Исправлена ошибка в переписывателе LEFT JOIN с push-down LIMIT, которая приводила к исключениям или неверным результатам при использовании столбцов без указания имени таблицы (#ID8GUC)
  • Исправлена проблема, из-за которой в некоторых сценариях не удавалось сгенерировать VIndexScan (#ID8RZ4)
  • Устранён потенциальный выход за границы массива при построении pipeline в VHashJoin.v2
  • Исправлена ошибка, вызывавшая аварийное завершение работы (crash) при копировании массива числового типа, все элементы которого имеют значение NULL (#IDA5OE)
  • Устранена проблема, из-за которой при использовании резервной функции (fallback function) в VAgg могло происходить исчерпание памяти (OOM) (#ID9OM4)
  • Добавлена поддержка вывода строк внешней таблицы без совпадений (no-match outer) в HASH JOIN с типом ANTI JOIN (#IDB0W8)

6.4.5

Дата: 2025-11-20


Исправления ошибок

  • Исправлена ошибка при push-down операций LEFT JOIN LIMIT при обработке таблиц с удалёнными столбцами (#ID56S4).
  • Исправлена ошибка при push-down агрегатов при обработке таблиц с удалёнными столбцами (#ID56S4).
  • Исправлена проблема, при которой правила rewrite не применялись, когда одновременно существовали правила rewrite и forbid в mxrule (#ID6OZ2).
  • Исправлена некорректная запись cdbpolicy в relcache для внешних таблиц, созданных через CREATE FOREIGN TABLE в рамках одной транзакции в PXF (#ID5I91).
  • Исправлена утечка контекста памяти (memcxt) в декодере Domino (#ID63W4).
  • Исправлена проблема в движке потоковой обработки Domino, при которой новые зафиксированные транзакции не были видны во время логического декодирования (#ID6CF8).

6.4.4

Дата: 2025-11-10


Улучшения и доработки

  • Уменьшена серьёзность логирования при завершении работы domino-воркера (ранее логировалось как FATAL: terminating connection due to administrator command) (#ICWTKQ)

Исправления ошибок

  • Исправлена ошибка, при которой mars3 autoprobe завершался с ошибкой tablespace.
  • Исправлена потенциальная потеря файлов сегментов после сбоя mars3.
  • Исправлена ошибка в декодере domino после перехода на резервный узел: «запрошенный сегмент TLog ... уже был удалён» (#ID3339).
  • Исправлено некорректное сохранение версий строк в domino (#ID2PC8).
  • Устранены ошибки «неверный magic number» при восстановлении декодера из журналов транзакций и обеспечено надёжное срабатывание восстановления декодера (#ICWFMD).
  • Исправлена ошибка «репликационный слот активен», которая могла возникнуть при выполнении DROP STREAM (#ICYE5T).
  • Обеспечено, что REFRESH STREAM использует последнюю позицию декодирования в качестве позиции потока (#ICW8Y2).
  • Исправлена проблема, при которой одновременно выполняемые потоки в REPLACE STREAM могли использовать устаревший план (#ICZ1WU).
  • Исправлен выбор снимка в domino_join_v2 при остановке прогресса (#ICVI4S).
  • Включена корректная работа autoexplain для отображения планов выполнения domino (#IC7FOW).
  • Исправлен сбой в mars3 во время выполнения compactjob pickrun.

6.4.3

Дата:2025-10-10


Улучшения и доработки

  • Добавлено логирование логики расчёта shared_buffers, max_connections и gp_vmem_protect_limit (#ICUPGA)
  • Оптимизирована логика генерации Parallel Scan Path для реплицированных таблиц с целью избежать избыточного перемещения данных

Исправления ошибок

  • Исправлена логическая ошибка при расчёте shared_buffers во время развёртывания или масштабирования базы данных (#ICUPGA)
  • Исправлена логика расчёта размера базы данных master shard в mxarchive (#ICVW2F)
  • Исправлено некорректное использование контекста памяти при выделении памяти с помощью пользовательского аллокатора в contentcache
  • Исправлена потенциальная утечка памяти в vhashjoin при наличии функции в ключе соединения (#ID0328)
  • Исправлен сбой, вызванный неправильным повторным использованием булевых выражений (#ID0C7S)
  • Исправлен расчёт количества строк в параллельных путях CTE
  • Исправлена потенциальная генерация Motion для реплицированных таблиц
  • Исправлено, что mars3 позволял изменять распределительные ключи для непустых таблиц
  • Исправлён расчёт размера таблицы mars3, в котором не учитывались метаданные
  • Исправлены ошибки результатов Nestloop+IndexScan в mars3 (#ICXM61)
  • Исправлена проблема с waitlock компакт-воркера mars3, который не освобождался (#ICWI5X)
  • Исправлено чрезмерное потребление памяти при alter tablespace в mars3

6.4.2

Дата: 2025-09-01


Улучшения и доработки

  • Удалён несущественный код для расчёта контрольных сумм страниц в MARS3

Исправления ошибок

  • Исправлена проблема, при которой права доступа к каталогам файлов могли быть заданы некорректно во время установки, если в среде установки umask не равен 0022
  • Исправлена проблема, при которой мог возникнуть NPE при удалении резервного узла
  • Исправлена ошибка «ERROR: cannot execute squelched plan node of type: 115» (#ICUBOK)
  • Исправлена проблема с несоответствием типов am в родительской таблице секционированных mars3 btree-таблиц
  • Исправлено повреждение данных после изменения столбцов в AOCO-таблицах

6.4.1

Дата: 2025-08-01


Улучшения и доработки

  • Лицензирование: срок бесплатного использования новых развёрнутых кластеров увеличен с 3 до 14 дней.
  • mxinitstandby: добавлена функция удаления текущего резервного узла (документация)
  • Начиная с этой версии, расширение matrixmgr будет автоматически обновляться после обновления базы данных, что исключает необходимость ручного вмешательства.
  • Domino: улучшена задержка потоковой передачи, вызванная модулем планирования.
  • orca теперь поддерживает индексы mars3
  • Поддержка двухфазных операций DISTINCT
  • Усилено безопасное использование памяти relcache
  • При инициализации кластера теперь по умолчанию отключена функция autofreeze
  • Улучшена логика анализа mars3 с использованием выборки на основе строк
  • Поддержка возможности удаления индекса mars3 в секционированных таблицах (#ICGEOH)

Исправления ошибок

  • MXUI мониторинг дисков: исправлена проблема с отображением LVM-устройств
  • MXUI мониторинг дисков: исправлена проблема с некорректным определением символических ссылок.
  • Domino: исправлена проблема, при которой декодер перезапускался после удаления базы данных
  • Ядро: исправлена проблема, при которой ALTER TABLE DISABLE TRIGGER на сегменте не выполнял корректно RECURSE к дочерним таблицам
  • Планировщик: исправлена проблема с неточным расчётом количества строк в QE в режиме utility/fastdd.
  • Планировщик: исправлена ошибка «ERROR: could not find pathkey item to sort».
  • Планировщик: исправлена проблема с некорректными результатами из-за ошибочной идентификации типа DQA.
  • Исправлена блокировка сообщения simple fetch, мешавшая работе пула соединений (#ICNTMQ)
  • Исправлено медленное выполнение ANALYZE в отдельных случаях
  • Исправлены ошибки использования материализованных представлений mars3 и проблемы с потерей данных
  • Исправлена невозможность одновременного создания индексов
  • Исправлено асинхронное выполнение tableclean во время freeze
  • Исправлена проблема, при которой уникальные ограничения не соблюдались в условиях параллельного доступа
  • Исправлена проблема, при которой mars3-таблицы не могли найти файлы во время checkpoint (#ICLXV5)
  • Исправлена проблема с видимостью при одновременном удалении и обновлении в mars3 (#ICI0E4)
  • Исправлена проблема с исчерпанием памяти (OOM), вызванная сжатием контекста Zstd в mars3 (#ICFRIE)
  • Исправлена ошибка при присоединении подтаблицы mars3 из-за нарушения ограничений (#ICG260)
  • Исправлена проблема с дублированием индексов при присоединении подтаблицы mars3
  • Исправлена проблема с некорректными результатами в gapfill

6.4.0

Дата: 2025-06-26


Новые функции версии

  • Функция управления лицензиями полностью обновлена
  • Добавлена поддержка операционной системы Centos9
  • Добавлена поддержка Cgroup V2
  • Resource Group добавил поддержку функции IO_LIMIT
  • MatrixUI добавил мониторинг дискового пространства, включая тепловую карту на панели мониторинга, 4 уровня предупреждений о дисках, отображение Util на странице топологии
  • MatrixUI поддерживает отображение отношений блокировок запросов на QE (#ICF0TL)
  • По умолчанию используется расчёт потоков Domino v2 при создании потоков (документация)
  • Инкрементальное онлайн-резервное копирование поддерживает нормальное восстановление при переходе на резервный узел/восстановлении в кластере (документация)
  • Добавлен переключатель mx_eager_memory_release для активного снижения потребления памяти неактивными процессами (по умолчанию выключен) (#ICH4Y9)
  • Поддержка миграции данных таблиц mars3 с помощью оператора ALTER TABLE ... SET TABLESPACE
  • Поддержка параллельного сканирования реплицированных таблиц (по умолчанию выключена) (#IC5J6V)
  • Функция auto-vacuum для системных и несистемных таблиц включена по умолчанию
  • Обновление Golang и toolchain до версии 1.24

Улучшения и доработки

  • Определён формат TLog для Domino v2, реализовано буферизованное чтение и запись, значительно улучшена производительность дискового ввода-вывода
  • Реорганизован mxstop для потокового вывода информации о ходе выполнения.
  • Инкрементальное онлайн-резервное копирование поддерживает некоторые функции tablespace (документация)
  • mars3 поддерживает roi-индексацию
  • mars3 поддерживает автоматическое преобразование btree/brin в индекс mars3_btree/mars3_brin
  • Версия relfile по умолчанию для mars3 изменена на v1
  • Секционированные таблицы mars3 поддерживают удаление индекса (#ICGEOH)
  • mars3 поддерживает общий контекст zstd для повышения эффективности сжатия (#ICFRIE)
  • Динамическое сканирование bitmap на таблицах mars3 отключено в orca
  • Поддерживается случай, когда тип индекса — mars3_btree, при изменении первичного ключа
  • mxrule поддерживает возможность определения необходимости проекции на основе количества distinct

Исправления ошибок

  • Исправлена проблема, при которой оператор EXCEPT не работал корректно, когда значение поля запроса было NULL при использовании оптимизатора ORCA (#ICC3P7)
  • Исправлена ошибка векторного подпланирования в explain analyze при включении auto_explain (#ICAUAG)
  • Исправлена ошибка запроса после миграции roi-индекса секционированной таблицы в новое tablespace (#ICCMG7)
  • Решена проблема чрезмерно медленного выполнения ANALYZE после полного удаления таблицы
  • Исправлена ошибка получения желаемого уровня rowstore при компактизации
  • Исправлена проблема поддержания счётчика pin-состояний сессии
  • Исправлена ошибка проверки ограничений при присоединении mars3 (#ICG260)
  • Исправлено дублирование создания индекса при присоединении индекса mars3
  • Исправлена проблема с freeze для таблиц в режиме non-unique
  • Решена проблема, при которой mars3.force_allocate не мог быть назначен для выполнения в экстремальных случаях

6.3.0

Дата: 2025-04-18

Новые функции

  • Поддержка несбалансированной схемы развёртывания mxaddmirrors (документация)
  • Поддержка функции добавления зеркал на графическом интерфейсе (документация)
  • Поддержка функций инкрементного холодного резервного копирования и восстановления (документация)
  • Улучшения серии mxstate, добавлены параметры -s, -p, `-H (#IBDK0D)
  • mxstart добавлена функция визуализации прогресса, добавлены параметры -C и -P (#IBGYMU)
  • Библиотека intrastream обновлена до версии v2 (на данный момент часть failover по умолчанию остаётся v1)
  • MatrixGate в mxui интегрирована функция удаления задач
  • Matrixshift Migration DDL добавлена поддержка атрибутов USING, WITH, ECODING
  • Поддержка рекурсивного создания расширенной статистики для секционированных таблиц
  • Поддержка применения ndistinct к расширенной статистике для оценки объёма данных результирующего набора по составным условиям/индексам (#IBORMW)

Улучшения и доработки

  • Сервис репликации не вызывает OOM при системном исчерпании памяти (#IBLJ14)
  • Обновление ETCD до версии 3.5.x и прохождение теста на усталость
  • Обновление Golang toolchain до версии 1.23.7
  • Обновление go-common-libs & matrixapis, устранение CVE
  • Рефакторинг слоя подключения к базе данных в mxbox
  • Обновление pgvector до версии v0.8.0 (#IBY4RH)

Исправления ошибок

  • Исправлена проблема, при которой mars3 runpick терял выполнение в условиях параллелизма
  • Исправлена проблема с видимостью, связанная с распределёнными транзакциями при singlesegment в mars3
  • Исправлена проблема с накоплением level2 из-за compactjob в mars3 (#IBNDHS)
  • Исправлена проблема потери данных из-за ошибки кэша метаданных в mars3btree
  • Исправлена проблема, при которой завершение задачи Kafka через интерфейс mxctl gate job --remove могло вызвать принудительное завершение mxgate (#IBWTUQ)
  • Исправлена проблема, при которой адрес и имя хоста в gp_segment_configuration добавленного узла-зеркала в gp_segment_configuration не соответствовали имени хоста (#IBZOEL) в пользовательском режиме addmirror (#IBZOEL)
  • Исправлена проблема, при которой QE постоянно перезапускался при ошибке чтения pid-файла репликации: «err pid file has 7 lines, expect 8» (#IC0SVB)
  • Исправлена проблема, при которой mx_default_segment_set активировался при включении mx_get_common_segmentids_with_default при установке mx_default_segment_set в несуществующий набор сегментов (#IBPYOI)
  • Исправлена проблема с оптимизацией crash в векторизации с помощью mx_digest_ws (#IBQZOC)
  • Исправлена проблема, при которой дублирование условий фильтрации приводило к неточным оценкам (#IBPYA4)
  • Исправлена ошибка векторизованного VAgg Sum(int64) (#IBTZUY)
  • Оптимизация revert shallow-copy для предотвращения частичного копирования Node (#IBN258)
  • Исправлена ошибка генерации плана выполнения «ERROR: could not find pathkey item to sort» (#IBSE48)
  • Исправлена ошибка доступа к функции сжатия Motion по нулевому указателю при OOM (#IBTESJ)
  • Исправлена проблема дублирования условий в MxRule (#IBNWJ0)

6.2.4

Дата: 2025-03-03

Улучшения и доработки

  1. Оптимизатор
    • Оптимизирована логика ROI, при отсутствии соответствующей секции в ROI не создается фиктивный план (#IBOER)
  2. Инструменты
    • Повышена вероятность успешного обнаружения всех сегментов перед запуском узла mxstart (#IBOPCG) Исправления ошибок
  3. Движок хранения
    • Исправлена проблема с маловероятными ошибками в оптимизации MARS3 для данных фиксированной длины (#IBMR40)
    • Исправлена ошибка итератора при использовании bitmapscan в MARS3 (#IBOE1Q)
  4. Движок выполнения
    • Исправлена проблема, при которой возможно обращение за пределы таблицы в сценарии VHashJoin Spill (#IBNSF8)
    • Исправлена ошибка, из-за которой VWindow вызывал сбой или сообщал об ошибке при чтении данных из batchstore (#IBONDT)
    • Исправлена проблема, приводившая к сбою зеркального узла при отсутствии файлов потоковой передачи snapbuild (#IBONUY)
  5. Управление сервисами
    • Устранена утечка соединений cmux для SOA-сервиса (#IBOOX0)
    • Исправлена ошибка, при которой добавление пустого зеркального узла вызывало ошибку плана (#IBOYWS)

6.2.3

Дата: 2025-02-24


Улучшения и доработки

  1. mxbox
    • Оптимизирована избыточная информация о состоянии кластера в etcd, снижена нагрузка на запись и обновление сервисов etcd, повышена стабильность кластера (#IBFELE)
    • Расширены функции командной строки mxbox client deployer get-cluster-service. Помимо отображения текущего активного адреса сервиса кластера/сегмента, теперь можно также просматривать информацию о неактивных высокодоступных сервисах в режиме резерва. Добавлен обязательный параметр --service-name со значением cluster или shard (#IBDQ6W)
    • Кэширование информации об обнаружении сервисов SOA в сервисе deployer. Другие сервисы получают результаты обнаружения через API интерфейс deployer, что снижает нагрузку на прямой доступ к etcd и повышает стабильность работы в крупных кластерах (#IBGJJ8)
    • Процесс высокодоступного сервиса cluster/shard/replication/deployer стал более активно освобождать физическую память операционной системе, что позволило снизить потребление памяти (#6e9e4636)
    • При выполнении mxstart/mxstop, если размер кластера велик, запуск сегментов/реплик происходит пакетно, чтобы избежать мгновенной чрезмерной нагрузки на etcd вследствие одновременного старта всех сервисов, что повышает стабильность операций (#IBI16W)
    • Когда основной/зеркальный узел в сегменте выходит из строя, узел gp_segment_configuration, сохраняющий состояние последней основной роли, переходит в состояние UP, обеспечивая успешный перезапуск базы данных (#IBJ58D)
    • В инструмент mxrecover добавлена опция -s для указания восстанавливаемого сегмента (#IBJLRN)
    • В инструмент mxstate добавлена опция -e для вывода информации о сегментах в абсолютном состоянии (#IBK5EM)
  2. Аварийное восстановление
    • Удалён параметр restore_point_creation_interval_minute из конфигурационного файла процесса подписчика, добавлен обязательный параметр restore_point_creation_interval, позволяющий пользователю самостоятельно настраивать интервал синхронизации (#2cd254aa)
    • План mxaddmirrors теперь поддерживает генерацию распределения зеркальных узлов для кластеров с несбалансированным развертыванием. Рекомендуется использовать после ручной проверки и корректировки до наиболее разумной конфигурации зеркал (#IBFUEX)
    • Изменён способ использования пользовательской конфигурации mxaddmirror. Теперь пользователь должен сначала выполнить mxaddmirrors init, а затем mxaddmirrors config --init-file <path_to_file> для генерации шаблонов конфигурации. Новый метод позволяет формировать разумные схемы даже для несбалансированных кластеров (#IBFUDC)
    • Для кластеров с несбалансированным развертыванием mxinitstandby позволяет добавлять standby-узлы на пустые физические машины без развёрнутых сегментных узлов (#IBIU96)
    • Для кластеров с несбалансированным развертыванием mxaddmirror позволяет добавлять зеркальные узлы на пустые физические машины без развёрнутых сегментных узлов в режиме пользовательской конфигурации (#IBKSYA) Исправления ошибок
  3. MatrixShift
    • Исправлена ошибка, при которой ограничение PRIMARY KEY в исходной базе данных преобразовывалось в ограничение UNIQUE INDEX + NOT NULL после миграции DDL с помощью mxshift (#IBFVS3)
    • Исправлена ошибка несоответствия позиций параметров в сгенерированном DDL-выражении при миграции определения UDF (#IBIN2R), если функция содержит как входные, так и выходные параметры (#IBIN2R)
  4. MatrixGate
    • Исправлена ошибка, при которой параллельные слоты, остановленные автоматической настройкой, не могли быть восстановлены при отключении функции автонастройки с помощью mxgate set --auto-tune = false (#IBKGPH)
  5. mxbox
    • Исправлена ошибка, при которой сервис репликации мог сохранять неработающие "зомби"-процессы при запуске/остановке экземпляра postgres (#IBICKJ)
  6. Аварийное восстановление
    • Исправлена ошибка, при которой синхронизация DR могла зависнуть при переходе на резервную базу данных (#IBKM33)

6.2.2

Дата: 2025-01-10


Улучшения и доработки

  1. MatrixShift
    • Если в конфигурационном файле не указаны операции миграции, а включена только функция проверки, добавлено сообщение об ошибке для баз данных, мигрированных из других источников, кроме mxshift (#IBFVMM)
    • При наличии дублирующихся таблиц или родительских и некоторых дочерних таблиц в списке таблиц раздела scope конфигурационного файла реализована возможность автоматического удаления дубликатов с выдачей предупреждения (#72ffcea)
  2. MatrixGate
    • Передача данных между mxgate и сегментными узлами изменена — по умолчанию сжатие отключено, чтобы сэкономить больше ресурсов памяти (ранее значение по умолчанию было «включено») (#IBD0PW)
    • В режиме передачи разрешена миграция данных при состоянии Down зеркального узла (#IBCQPB)
  3. mxbox
    • Добавлен вывод причины пропуска при пропуске mxrecover определённых сегментов (#IB4NJD)
    • При использовании mxrecover для выполнения операций балансировки в кластере можно сократить время простоя базы данных, добавив параметр CHECKPOINT; поведение можно пропустить, добавив параметр --skip-checkpoint (#IBCVOL)
    • Улучшен формат вывода содержимого этой команды в консоли при выполнении балансировки кластера с помощью mxrecover (#IBCVOS)
    • В mxrecover добавлен параметр --prepare-timeout. При запуске mxrecover таймаут сбора информации о состоянии кластера через etcd может быть задан, значение по умолчанию — 1 минута (#IBCVOS)
  4. mxctl
    • При установке и развёртывании команда mxctl setup collect проверяет, может ли localhost быть разрешён в локальный loopback-адрес, и в случае невозможности выдает ошибку (#IBDM77)

Исправления ошибок

  1. MatrixShift
    • Исправлена ошибка, возникающая при миграции таблиц без полей (#IBFVQP)
    • Исправлена ошибка, при которой таблица или другой объект базы данных, на который ссылается созданная функция, больше не существует при миграции DDL (#d51821f)
  2. MatrixUI
    • Исправлена ошибка самодиагностики, приводившая к неверному отображению номера версии (#IBD0YZ)
  3. mxbox
    • Исправлена ошибка, при которой DR мог зависнуть при чтении WAL с сегмента (#216abca3)
    • Исправлена ошибка в логике расчета лимита защиты vmem после подключения к несбалансированному развертыванию (#1b30eb0c)
    • Исправлена ошибка, при которой при включённой функции мониторинга mxmgr соответствующие процессы мониторинга не удалялись при выполнении mxdeletesysystem (#IBB9SM)
    • Исправлена ошибка, при которой некоторые сервисы (shard и cluster) оставались после выполнения mxdeletes, если на некоторых хостах физического кластера отсутствовали сегменты (#63c34070)
    • Исправлена ошибка с низкой вероятностью таймаута при одновременном восстановлении master и data shard с помощью mxrecover -r (#IBD71J)
    • Исправлена ошибка, при которой при остановке экземпляра postgres сервисом репликации мог возникать NotFound (#IBD8H7)
  4. Высокая доступность
    • Исправлена ошибка, при которой первичный узел (Primary) оставался прежним при сетевом разделении, когда Mirror был повышен до Primary, что приводило к появлению двух Primary (исходный Primary должен быть уничтожен, чтобы сохранить повышенный Mirror) (#IBE2HF)
    • Исправлена ошибка, при которой, если primary уже работал нормально, запуск mxstart прерывал процесс старта (#986b5588)
    • Исправлена ошибка, при которой, если primary уже был остановлен, остановка mxstop некорректно прерывала процесс остановки (#986b5588)
    • Исправлена ошибка с низкой вероятностью зависания автоматического разделения и его неработоспособности при аварийном завершении и восстановлении базы данных (#IBDSBY)

6.2.1

Дата: 2024-12-20

Улучшения и доработки

  1. mxbox
    • Увеличен таймаут по умолчанию для mxstart с 1 минуты до 5 минут. Поддерживается пользовательская настройка таймаута через параметр -t. (#9ab2957c)
    • Добавлена поддержка пользовательских переменных окружения при запуске процесса postmaster. (#39575ad3)
    • При двойном отказе в кластере разрешён запуск ближайшего основного узла путём перезапуска базы данных вместо невозможности запуска. (#ab0b920a)
    • Увеличено максимальное количество открытых файлов для сервиса supervisor и процесса etcd, решена проблема частых ошибок «слишком много открытых файлов» для сервисов etcd в гипермасштабируемых кластерах. (#6ca5293dcd0)
    • При развёртывании нового кластера параметр --enable-pprof удалён из конфигурации сервиса etcd в сервисе supervisor, что делает etcd более стабильным и снижает потребление CPU. (#ae00e5a)

Исправления ошибок

  1. mxbox
    • Исправлена ошибка, при которой автоматически настраиваемое значение gp_vmem_protect_limit оказывалось слишком большим при развертывании кластера на машине с несколькими узлами данных. (#5253cbbb)
    • Исправлена ошибка, при которой postmaster неожиданно завершал работу при проверке реплицирующим сервисом, и существовала вероятность продолжения работы реплицирующего сервиса. (#ab77de4e)

6.2.0

Дата: 2024-12-09


Улучшения и доработки

  1. MatrixUI
    • При установке или расширении новой машины активно проверяется наличие в /etc/ssh/sshd_config таких элементов конфигурации, как AllowUsers/AllowGroups/DenyUsers/DenyGroups, которые могут помешать взаимному доверию SSH между хостами в кластере, и предоставляются конкретные сообщения об ошибках и рекомендации по исправлению (#IB80HF)
  2. MatrixShift
    • Введены более строгие проверки конфигурационных файлов: при запуске mxshift будут выявляться и сообщаться об ошибках некорректные параметры конфигурации. Например, если disable-connector = true указан не в параграфе [scope], mxshift сообщит об ошибке и напомнит об этом (#IB5002)
  3. mxbox
    • Инструменты moveseg / initstandby могут определять, находится ли хост, добавляемый с помощью подкоманды --add, уже в физическом кластере, и выдавать сообщение об ошибке (#5e39499c)
    • При перезагрузке хоста или первом запуске кластера YMatrix автоматически создаются необходимые пути, от которых зависит cgroup групп ресурсов (#IB5G9O)

Исправления ошибок

  1. MatrixUI
    • Исправлена ошибка, при которой сумма значений calls_end после 0 на странице загрузки запросов вызывала ошибку запроса (#IAMZI0)
    • Исправлена ошибка, при которой MXUI не мог повторно развернуть процесс сбора метрик mxui collector при изменении топологии кластера (#IB8BTF)
  2. MatrixGate
    • Исправлена ошибка, при которой mxgate не мог продолжить потребление данных из kafka после перезапуска кластера YMatrix в некоторых средах (#IB6HEL)
  3. MatrixShift
    • Исправлена ошибка синтаксиса ALTER MATERIALIZED VIEW при миграции DDL, добавлена поддержка миграции синтаксиса MATERIALIZED VIEW для GP6 (#3ba9664)
  4. mxbox
    • Исправлена ошибка, при которой кэширование препятствовало обновлению статуса сегмента (#d5844a19)
    • Исправлена ошибка, при которой при сжатии etcd удалялась актуальная версия метаинформации (#6c5c7c5e)
    • Исправлена ошибка, при которой основной узел в аномальном состоянии не мог быть своевременно остановлен при восстановлении после сетевого разделения (#695d45fe)

6.1.1

Дата: 2024-11-19


Улучшения и доработки

  1. MatrixGate
    • Оптимизация mxgate: поддержка настраиваемого таймаута соединения сегментов в виде GUC-параметра (#IB25VC)
  2. MatrixShift
    • Оптимизация mxshift: при отсутствии прав используется каталог данных вместо /tmp (#IB0UY1)
  3. mxbox
    • Поддержка пользовательских несбалансированных развертываний (#IAVBH5, #IAVCE2, #IAVFBE, #IAVDNP)
  4. MatrixUI (Документация)
    • Поддержка пользовательского интерфейса для несбалансированных развертываний (#IAVXM5)

6.1.0

Дата: 2024-10-31


Улучшения и доработки

  1. MatrixShift

    • Оптимизация mxshift: можно пропустить создание внешней таблицы при миграции данных из gp6 (#IB0IUE)
    • Оптимизация mxshift: при автоматическом отображении типа сжатия из zlib в zstd параметр compresslevel принудительно устанавливается в 1 (#IB0GA9)
  2. Аварийное восстановление

    • Удалён неиспользуемый параметр конфигурации slot в конфигурационном файле подписчика
    • Уточнено содержание журнала

Исправление ошибок

  1. MatrixShift
    • Исправлена ошибка, возникавшая при создании поля типа "COLLATABLE"

6.0.0

Дата: 2024-10-11


Новый функционал

  1. Добавлена функция потоковых вычислений (Документация)

    • Поддержка расширенных вычислений по измерениям, агрегированных вычислений, многоуровневых потоковых вычислений, корреляционных вычислений между двумя потоками и т.д. (Документация)
    • Поддержка различных возможностей конфигурации и управления (документация)
  2. Интегрированная архитектура потоковой и пакетной обработки

    • База данных объединяет преимущества потоковой и пакетной обработки, поддерживая параллельную обработку данных в реальном времени и исторических данных.
  3. Добавлен кластер аварийного восстановления (Документация)

    • Поддержка передачи и синхронизации данных между центрами обработки данных
    • Поддержка мониторинга состояния работы кластера аварийного восстановления
    • Поддержка ручного переключения резервного кластера в рабочий режим, все приложения могут быть переключены на этот кластер для нормальной работы
    • Показатели аварийного восстановления для данного кластера:
      • RPO (Recovery Point Objective, целевая точка восстановления) Пользователь может указать подходящее значение, при котором целевой показатель достигается на уровне минут без влияния на производительность исходного кластера.
      • RTO (Recovery Time Objective, целевое время восстановления) Поддерживается режим горячего резерва базы данных, при котором RTO составляет от нескольких секунд до минут.

Повышение производительности

  1. Повышение производительности TP

    • Добавлена поддержка размера блока 8 Кб; конфигурируемый блок данных (block) составляет 8 Кб, что значительно повышает производительность при обработке транзакций с небольшими объёмами данных.
  2. Улучшение хранилища MARS3

    • Добавлена поддержка уникальных ключей, операций upsert и блокировок на уровне строк.
  3. Улучшение векторизационного движка

    • Добавлена поддержка векторизации оконных функций (Window Function).

Известные проблемы

  1. При большом количестве секций запрос может вызвать нехватку памяти (OOM) в базе данных.

  2. В сценарии KILL QUERY процесс восстановления может привести к сбою.