Skip to content

v5.4.12

Compare
Choose a tag to compare
@Oldbread3 Oldbread3 released this 28 Jan 14:08
· 155 commits to main since this release

RELEASE NOTE

Feature enhancement

  • Support access GalaxySQL from maxwell and debezium
  • Support the separation of reading and writing for RW node
  • Support set TLS version based on jdk version
  • Support statement SHOW GRANTS FOR CURRENT_USER
  • Support disable cost estimation for LogicalView with hint ENABLE_LOGICALVIEW_COST=false
  • Support auto rollback for ALTER TABLE ddl task
  • Add precheck for ALTER TABLE task
  • Add records for information_shema in result of SHOW DATASOURCES
  • Avoid pushing uncorrelate node into lv with variables set
  • Try transform filter downside of projects with uncorrelate scalar subquery
  • Change the level of spm null point log from error to info
  • More literal expression supported for SET statement
  • Optimize the execution of apply executor for IN subquery
  • Optimize duplicate check for insert statement executed with logical multi write
  • Optimize physical query with limit
  • Remove PostPlanner segmented check
  • Optimize Compare function for FactorCostComparator
  • Support huge memory size in startup.sh
  • Limit length of SHOW JOBS result to 500
  • Add sample rate to accurate count num from TopN
  • Rollback transaction after ERR_TRANS_DEADLOCK exception

Bugfix

  • Fix AES encryption when key length greater than 16 bytes
  • Fix the issue of LIMIT + physical sql cache leads to empty result set of SELECT statement with LIMIT clause
  • Fix alter table add index without specifying index name issue that can cause failure of inserting index metadata
  • Fix index meta missed issue when altering table add multiple indexes with the same columns
  • Fix a NPE issue of simple sequence validation
  • Fix DDL task issue of executed by 2 CN during leader election
  • Fix a concurrent physical ddl issue that cannot recover ddl task after task paused
  • Fix the issue of traceid of transaction changed after execution of ddl
  • Fix the issue of subtask not exit correctly while there occurs an out of memory exception
  • Fix the issue of MOVE DATABASE task cannot be recovered for some case
  • Fix cn/dn mapping maintaining issue that can cause failure of scale out task
  • Fix the invalidation of baseline caused by DDL
  • Fix the NPE issue for baseline sync
  • Fix the issue of plan leaking in baseline
  • Fix backfillRows of show stats
  • Fix memorypool leaking issue for some case
  • Fix case sensitive issue for table meta initialization that can cause some column mata not loaded
  • Fix virtual_statistic result not correct issue which is caused by lack of table meta
  • Fix physical sql for statement using inventory hint
  • Fix execution error of statement using SCAN HINT, which is caused by table name not surrounded by backquote
  • Fix execution error of BkaJoin, which is caused by physical sql like ' xx in row(EMPTY)' generated
  • Fix wrong physical sql of order by [index]
  • Fix sql template cache when there exists scalar subquery in logicalview.
  • Fix rex literal transform issue in subquery apply executor.
  • Fix for get cost after execution
  • Fix npe issue when optimizer trying to get the statisic of index
  • Fix estimated size in some block
  • Fix the issue of "Snapshot Too Old" for long-lasting transaction
  • Fix the wrong UPDATE result issue for some case of using ON UPDATE TIMESTAMP column as partition key
  • Fix the issue of UPDATE column with property AUTO_INCREMENT
  • Fix UPSERT BIT type column issue that can cause UPSERT failure
  • Fix UPDATE blob type column issue that in some case can cause wrong update result
  • Fix setting value for AUTO_INCREMENT column issue for INSERT SELECT statement without target column
  • Fix logical multi-write issue for REPLACE statement in isolation level read committed
  • Fix ddl validation for not support using SET type column as sharding key
  • Fix undefined user variable for sum
  • Fix the issue of SetHandler#parserValue
  • Fix DESC issue that can cause executeion failure on system table
  • Fix execution issue of statament EXPLAIN ANALYZE LIMIT
  • Fix exception "Failed to create vectorized expression"
  • Fix aggregation function execution issue for UNION statement without actual table
  • Fix the issue of SHOW DS STATUS and KILL ALL not work at RO instance in some case
  • Fix execution issue of SHOW TABLES using readonly connection
  • Fix the issue that condition derivation not adapted for subquery materialize
  • Fix a issue about login
  • Fix issues about MySQL compatibility

发布说明

特性更新

  • 新增 ALTER TABLE 校验,提前拒绝执行不支持的 ALTER TABLE 语句
  • 新增 CN 启动参数,支持设置 LargePage
  • 新增 SHOW DATASOURCES 中加入 information_schema 的相关信息
  • 新增 兼容 debezium 使用到的特殊 sql 语句
  • 新增 在主实例上引入读写分离能力
  • 新增 基于 JDK 版本自适应设置 TLS 版本号
  • 新增 支持 SHOW GRANTS FOR CURRENT_USER 语句
  • 新增 通过 HINT ENABLE_LOGICALVIEW_COST 关闭 LogicalView 的代价估算
  • 新增 限制 SHOW JOBS 的 phyProcess 最长为500
  • 优化 非相关联子查询物理 SQL 结构
  • 优化 IN 类 APPLY 子查询的执行效率, APPLY 执行器支持物化方式执行
  • 优化 逻辑多写 Duplicate Check 的执行性能
  • 优化 SET 语句支持的表达式范围
  • 优化 ALTER TABLE 支持自动回滚
  • 优化 物理 SQL 包含 LIMIT 的场景
  • 优化 去除 PostPlanner segmented check
  • 优化 禁用集合类型作为拆分键
  • 优化 FactorCostComparator 中的 Compare 函数性能

问题修复

  • 修复 AES加密函数当密钥长度超过16字节时结果不正确
  • 修复 LIMIT + 物理 SQL CACHE 导致 LIMIT 查询结果为空的问题
  • 修复 ALTER TABLE 为同一列多次新增不带索引名的索引时元数据插入失败的问题
  • 修复 ALTER TABLE 新增多个包含同一字段的索引后,部分索引元数据缺失
  • 修复 ALTER TABLE 语句通过 Auto_Increment 子句修改 Sequence 起始值时发生 NPE
  • 修复 CN 发生切主时,2 个 CN 可能同时执行同一个 DDL 任务的问题
  • 修复 DDL 分库间并行策略下的任务中断后,任务恢复执行卡住的问题
  • 修复 DDL 导致事务 ID 发生变化
  • 修复 OOM 时 DDL 引擎中子线程没有正确退出的问题
  • 修复 MOVE DATABASE 任务中断恢复的问题
  • 修复 创建建连接池异常,导致 scaleout 任务中断的问题
  • 修复 SPM 在 fix sql 时不会受 DDL 影响而失效
  • 修复 baseline fix 时会概率性 sync 失败的问题
  • 修复 在复杂 SQL 较多的场景中, baseline 存储的 plan 有概率超出最大值泄露的问题
  • 修复 TopN 因采集数据过大导致的估算问题
  • 修复 SHOW STATS 中的 backfillRows 统计
  • 修复 异常情况下,memory pool 对象未被 destory 情况
  • 修复 批量加载 table meta 时候,表名的大小写会导致列加载不到的问题
  • 修复 virtual_statistic 视图因 table meta 获取不到导致的展示问题
  • 修复 热点更新的下推 SQL
  • 修复 通过 HINT 下推的 SQL 表名没有带反引号,导致报错的问题
  • 修复 物理 SQL 中出现' xx in row(EMPTY)' 导致报错的问题
  • 修复 物理 SQL 生成 ORDER BY 带 index 的问题
  • 修复 物理 SQL CACHE 涉及子查询问题
  • 修复 执行结束后 getCost 报错问题
  • 修复 统计信息涉及索引部分场景下 NPE 问题
  • 修复 部分 block 的 estimatedSize 不准确问题
  • 修复 部分场景下,只读实例上 SHOW DS STATUS 和 KILL ALL 指令不能正确执行的问题
  • 修复 长事务导致 Snapshot too old 报错的问题
  • 修复 死锁检测报错 ERR_TRANS_DEADLOCK 之后未主动回滚事务
  • 修复 ON UPDATE TIMESTAMP 作为拆分键时,部分场景下 UPDATE 结果不符合预期的问题
  • 修复 UPDATE 自增列的问题
  • 修复 UPSERT BIT 类型报错的问题
  • 修复 部分场景下 UPDATE blob 字段结果不符合预期的问题
  • 修复 使用隐式目标列 + LIMIT 且不可下推的 INSERT SELECT 语句,主键没有使用 Sequence 填充的问题
  • 修复 禁止 LogicalReplace 在隔离级别为 RC 时的下推
  • 修复 未知的用户变量问题
  • 修复 SetHandler#parserValue 的问题
  • 修复 DESC 系统表报错的问题
  • 修复 EXPLAIN ANALYZE + LIMIT 报错的问题
  • 修复 Failed to create vectorized expression 错误
  • 修复 不包含表的 FROM UNION 上聚合函数执行报错的问题
  • 修复 使用只读连接串执行 SHOW TABLES 报错问题
  • 修复 子查询物化适配条件推导
  • 修复 登陆相关问题
  • 修复 SQL 兼容性相关问题修复