Skip to content

v4.2.1_CE_BP5

Compare
Choose a tag to compare
@zhuzhaoyang001 zhuzhaoyang001 released this 24 Apr 10:21
· 5650 commits to develop since this release

Version information

Information Description
Release date April 24, 2024
Version V4.2.1_CE_BP5
Commit number ec03c25
OBServer RPM version oceanbase-ce-4.2.1.5-105000032024041915

Enhanced features

  • Compatibility with MySQL

    • A SET statement that contains the SET NAMES statement can also set other variables.
    • The information_schema.events table of MySQL is supported. #1194
  • Other optimizations

    • The [G]V$OB_SESSION view is provided to display session information and help reduce the time required in collecting processlist statistics.
    • The NETWORK_WAIT_TIME column is added to the GV$OB_SQL_AUDIT view to indicate the total amount of time spent on events of the Network class.
    • A switch is provided for controlling parallel execution of DDL statements.
    • The slog and sstable directories now can be stored in different paths on the disk.
    • The OUTROW storage performance of large object (LOB) data is improved.
    • The issue of PL cache failure is resolved.
    • Adaptive major compaction is optimized for buffer tables.
    • The statistics collection performance is improved.

Product behavioral changes

To ensure stability, the batch rescan optimization feature was disabled by default for the NESTED-LOOP JOIN (NLJ) and SUBPLAN FILTER (SPF) operators during cluster creation in OceanBase Database since V4.2.1_CE_BP2_HF1. This feature is optimized in V4.2.1_CE_BP5 and is now enabled by default. In other words, the batch rescan optimization feature is enabled by default for new tenants. In OceanBase Database of a version earlier than V4.2.1_CE_BP5, the feature is still disabled by default. You can manually enable the feature as needed.

Bug fixes

  • Fixed the issue where the query result of an SQL statement in a standalone database is inconsistent with that in a multi-node cluster. #1845
  • Improved the performance of hotspot functions in an ARM environment.
  • Fixed the issue where requests are accumulated in the queue of the sys tenant because the slog disk is used up.
  • Fixed the issue where an additional record is displayed in some views such as information_schema.tables and all_tables after a DDL operation is performed to convert a non-partitioned table into a partitioned table.
  • Fixed the issue where in the case of frequent connection and disconnection attempts, Error 4016 is returned during connection establishment when the total number of established connections reaches the specified value, because the reference count is leaked.
  • Fixed the issue where the OBServer node can be hung if the obstack command is automatically executed when requests are accumulated in the queue.
  • Fixed the issue where Error 4016 is returned when you execute the SHOW TRACE statement for a distributed execution plan after end-to-end tracing is enabled.
  • Fixed the issue where the performance deteriorates after SQL plan management (SPM) is enabled.
  • Fixed the issue where a core dump occurs if the offset exceeds INT64_MAX when the LIMIT OFFSET syntax is used in the .NET driver.
  • Fixed the issue where the memory of the CommonArray memory module leaks due to bypass import.
  • Fixed the issue where the memory of the PlJit module leaks due to exceptions.
  • Fixed the issue where a core dump occurs during parallel execution when memory allocation fails.
  • Fixed the issue of memory bloat during parallel index creation in specific scenarios.
  • Fixed the issue where Error 4344 may be returned when you back up a standby database in specific scenarios.
  • Fixed the issue where creating a standby tenant in the standby cluster will fail if case sensitivity is enabled for table names of tenants in the primary cluster.
  • Fixed the issue where the execution time is abnormal if you execute the create table if not exists statement to create an existing table immediately after the cluster is restarted.

Considerations

OceanBase Database V4.2.1_CE_BP5 fixes the issue where connection establishment fails because the reference count of session connections is leaked. We recommend that you upgrade OceanBase Database to V4.2.1_CE_BP5 as soon as possible.

版本信息

项目 描述
发布日期 2024-04-24
版本号 V4.2.1_CE_BP5
Commit 号 ec03c25
OBServer RPM 版本号 oceanbase-ce-4.2.1.5-105000032024041915

特性增强

  • MySQL 兼容性

    • 支持在同一个 SET 语句中同时包含 SET NAMES 语句和使用 SET 设置其他变量。
    • 支持兼容 MySQL 的 information_schema.events 表结构。 #1194
  • 其他优化

    • 新增 [G]V$OB_SESSION 视图展示会话信息,优化 Processlist 统计时间。
    • GV$OB_SQL_AUDIT 视图新增 NETWORK_WAIT_TIME 字段,用于展示所有 Network 类事件的总时间。
    • 新增 _parallel_ddl_control 参数用于控制是否在租户级别开启各类并行 DDL 的功能。
    • 支持将 slogsstable 的目录放在不同的磁盘目录下。
    • 优化 LOB 类型数据外联存储(OUTROW)性能。
    • 优化 PL Cache 缓存失效的问题。
    • 优化 Buffer 表的自适应合并。
    • 优化统计信息收集的性能。

产品行为变更

出于稳定性因素的考虑,从 V4.2.1_CE_BP2_HF1 版本开始,新建集群时,Nested Loop join(NLJ)和 SUBPLAN FILTER(SPF)算子的 BATCH RESCAN 优化默认会被关闭。我们针对该功能进行了专项提升,在 V4.2.1_CE_BP5 版本重新打开该默认开关。V4.2.1_CE_BP5 版本开始,新建的租户默认保持 BATCH RESCAN 优化开启。升级前已存在的老租户会维持原来的配置,如需打开优化,需在对应的租户下执行 SET GLOBAL _nlj_batching_enabled = true 手动开启。

缺陷修复

  • 修复单节点与多节点查询结果不一致的问题。#1845
  • 优化 ARM 环境下的性能热点问题。
  • 修复 slog 盘满导致系统租户队列积压的问题。
  • 修复执行非分区表转分区表 DDL,会导致一些视图(如 information_schema.TABLES/ALL_TABLES)多显示一条记录的问题。
  • 修复频繁建连接/断连接场景下,引用计数泄漏导致建连接总数达到一定量后,建连接报错 4016 的问题。
  • 修复队列积压情况下自动 obstack 可能导致 observer hang 住的问题。
  • 修复开启全链路追踪后分布式执行计划 show trace 报错 4016 的问题。
  • 修复打开 SPM 后性能下降的问题。
  • 修复 .NET 驱动中使用 limit offset 时遇到 int64_max 溢出导致的 core 问题。
  • 修复旁路导入产生 CommonArray 内存模块泄漏的问题。
  • 修复异常场景下 PlJit 模块内存泄漏问题。
  • 修复分配内存失败场景下,并行执行 core 的问题。
  • 修复并行执行创建索引特定场景下内存膨胀的问题。
  • 修复特定场景下备库备份可能出现 4344 报错的问题。
  • 修复主集群租户设置了区分表名大小写,备集群同步创建备租户会失败的问题。
  • 修复集群重启后,立即执行 create table if not exists 创建已经存在的表,执行时间异常的问题。

注意事项

V4.2.1_CE_BP5 版本修复了集群 session 连接数引用计数泄漏导致不能新建连接的问题,请尽快升级到 V4.2.1_CE_BP5 版本。