Oceanbase-py

Latest version: v0.0.1.2

Safety actively analyzes 682361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 17 of 30

2.7.0

| OceanBase Developer Center (ODC) | V4.2.3 BP1 | - |

2.6.0

2.4.0

| MySQL JDBC | V5.1.47 |

2.3.1

2.2.5

升级说明

* 支持 OceanBase 数据库 V4.2.1_CE_BP2 及之前的 V4.x_CE 版本通过有效升级路径在线升级到 OceanBase 数据库 V4.2.2_CE 版本。V4.2.1_CE_BP3 及之后的 BP 版本不再支持升级到 V4.2.2_CE 版本。随着 V4.2.1_CE 和 V4.2.x_CE 版本的并行演进,V4.2.1_CE 的后续 BP 版本也会逐步支持升级到 V4.2.x_CE 后续版本。

* ODP 和 OBServer 升级顺序:建议先升级 OBServer 版本再升级 ODP 版本。

* 升级期间,系统会自动禁用合并和 DDL 操作,升级完成后恢复正常使用。


v4.2.1_CE_BP3
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | January 2, 2024 |
| Version | V4.2.1_CE_BP3 |
| Commit number | [8fe69c2](https://github.com/oceanbase/oceanbase/releases/tag/v4.2.1_CE_BP3) |
| OBServer RPM version | oceanbase-ce-4.2.1.3-103000032023122818 |

Enhanced features

* Data compression at the communication protocol layer is supported for OBServer nodes and OceanBase Database Proxy (ODP) to reduce the bandwidth costs in data transmission.

* Global indexes are supported in OBKV.

* The `INSERT ... ON DUPLICATE KEY UPDATE` statement is supported.

* The `max_partition_num` parameter is added to control the maximum number of partitions that can be created or modified in the MySQL mode.

* Statistics information can be copied by using `DBMS_STATS.copy_table_stats`.

* Permission-based filtering is implemented in the result set of the `information_schema.SCHEMATA` table, allowing users to query only schemas for which they have permissions.

* The data synchronization performance is improved for the primary/standby architecture in direct connection mode.

* The system load is reduced in scenarios where SQL statements are throttled using `max_concurrent`.

* The `DATA_PROGRESS` column is added to the `CDB_OB_BACKUP_TASKS` view to show the data backup progress.

Bug fixes and improvements

* [Fixed the issue where ERROR 4016 was returned after executing the `SHOW CREATE TABLE` statement when no length was specified for type inference on the input and output of the `JSON_UNQUOTE` function.](https://github.com/oceanbase/oceanbase/commit/6f79c91e45b69f8bfafc50689ff733862e91a41e)

* [Fixed the issue where an error occurred when importing data using the `LOAD DATA` statement for columns containing JSON or large object (LOB) data exceeding 2 MB.](https://github.com/oceanbase/oceanbase/commit/b8daab6b35e36c34da0938459e29482935ed9e6e)

* [Fixed the issue where an exception occurred when connecting to an OBServer node using a `.NET` driver in Visual Studio for Windows.](https://github.com/oceanbase/oceanbase/commit/ea254ef867fb478bc9a131cf5ccdc3b95a7705fc)

* [Fixed the issue where an exception occurred when querying data using the `ST_Contains` function with spatial index.](https://github.com/oceanbase/oceanbase/commit/d30e5adc3145f3be2fe7bbfa9232567010a91cc7)

* [Fixed the issue where the `SHOW CREATE TABLE` statement would return a `CHARSET_INVALID` error when `character_set_results` was not specified.](https://github.com/oceanbase/oceanbase/commit/f80e9151798c816ecadc0ec225c07c7b539d6b8e)

* [Fixed the issue where the `REPLACE` system function did not correctly handle input parameters of the LOB type, resulting in execution errors.](https://github.com/oceanbase/oceanbase/commit/0423901da6d10c4a26a7406130640e5fffbeb0f9)

* [Fixed the issue where ERROR 4013 was returned when starting the OBServer node due to excessive tenant numbers.](https://github.com/oceanbase/oceanbase/commit/aeaa65f1e5c89404c54f00fd978fce05ce9a8009)

* [Fixed the issue of delayed response to business requests and increased tenant CPU utilization during concurrent SQL execution, particularly when a hash join processing a small amount of data is on the right of the `SUBPLAN FILTER` operator in the execution plan.](https://github.com/oceanbase/oceanbase/commit/e90b359d2621265302bc94932688497b8cca1327)

* [Fixed the issue where a statement may time out if a large number of logs were written in a short period of time in a parallel DML (PDML) scenario.](https://github.com/oceanbase/oceanbase/commit/d93a9b10d59c3d751da43e9d62ed0efb3740ade5)

* [Fixed the issue of tenant memory overload caused by memory bloat within the EncodePivot module in small-specification scenarios.](https://github.com/oceanbase/oceanbase/commit/758147a7e171528514653c062a8e1fd4c27dbb68)

* [Fixed the issue of tenant memory overload caused by memory bloat within the SqlExecutor module in multi-table join queries during data transfer.](https://github.com/oceanbase/oceanbase/commit/b5e009d6c706b8ebc99a6cce9e7e649565cc8977)

* [Fixed the issue where ERROR 4038 was returned when using the `INSERT INTO SELECT` statement for bypass import.](https://github.com/oceanbase/oceanbase/commit/ea87585b71ee65591b22283e954d12fe055b3ba2)

* [Improved the performance of the OBKV insertup API, which can be enhanced by setting `binlog_row_image` to `MINIMAL`.](https://github.com/oceanbase/oceanbase/commit/e41db9ca559553e638dacd1f41caa5bdb30b4d55)

* [Fixed the issue where cluster connection exceptions occurred due to high CPU utilization of background threads in an environment with a large number of tenants.](https://github.com/oceanbase/oceanbase/commit/d670ba79a7e0144eebae2b734db2a8082d38e7ee)

Considerations

Starting from V4.2.1_CE_BP2_HF1, batch rescan is disabled by default for the NESTED-LOOP JOIN (NLJ) and SUBPLAN FILTER (SPF) operators during cluster creation. However, for clusters upgrading from earlier versions, batch rescan is enabled by default. If stability issues are found in batch rescan for the NLJ or SPF operator in an environment with large amounts data, you can disable batch rescan for the operator in the entire cluster by executing the `SET GLOBAL _nlj_batching_enabled = false;` statement. If the performance is not as expected after batch rescan is disabled, you can evaluate whether to enable batch rescan again based on the actual situation.

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2024-01-02 |
| 版本号 | V4.2.1_CE_BP3 |
| Commit 号 | [8fe69c2](https://github.com/oceanbase/oceanbase/releases/tag/v4.2.1_CE_BP3) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.1.3-103000032023122818 |

特性增强

* 支持 OBServer 与 obproxy 通信协议层的压缩功能,降低数据传输带宽成本。
* OBKV 支持全局索引的能力。
* 支持 `INSERT ... ON DUPLICATE KEY UPDATE` 语法。
* 新增配置项 `max_partition_num` 用于控制 MySQL 模式下允许创建或者更改的最大分区数。
* 支持通过 `DBMS_STATS.copy_table_stats` 拷贝统计信息。
* 对 `information_schema.schemata` 表的结果集增加权限过滤,用户只能查询权限范围内的 Schema。
* 优化网络直连主备库架构下的数据同步性能。
* 优化通过 `max_concurrent` 对 SQL 进行限流场景下系统的负载。
* `CDB_OB_BACKUP_TASKS` 视图新增 `DATA_PROGRESS` 字段,用于展示数据备份进度。

缺陷修复

* [修复 `JSON_UNQUOTE` 类型推导时没有设置 Length,导致 `SHOW CREATE TABLE` 报错 4016 的问题。](https://github.com/oceanbase/oceanbase/commit/6f79c91e45b69f8bfafc50689ff733862e91a41e)
* [修复 Json 或 Lob 类型数据的列数据超过 2M 时,LOAD DATA 导入报错的问题。](https://github.com/oceanbase/oceanbase/commit/b8daab6b35e36c34da0938459e29482935ed9e6e)
* [修复在 Visual Studio for Windows 下,使用 `.NET` 驱动连接 OBServer 异常的问题。](https://github.com/oceanbase/oceanbase/commit/ea254ef867fb478bc9a131cf5ccdc3b95a7705fc)
* [修复使用 `ST_Contains` 函数时,通过空间索引查询数据异常的问题。](https://github.com/oceanbase/oceanbase/commit/d30e5adc3145f3be2fe7bbfa9232567010a91cc7)
* [修复 `character_set_results` 设置为空的场景下,`SHOW CREATE TABLE` 报错 `CHARSET_INVALID` 的问题。](https://github.com/oceanbase/oceanbase/commit/f80e9151798c816ecadc0ec225c07c7b539d6b8e)
* [修复输入参数为 Lob 类型时,`REPLACE` 系统函数没有正确处理,导致执行时报错的问题。](https://github.com/oceanbase/oceanbase/commit/0423901da6d10c4a26a7406130640e5fffbeb0f9)
* [修复租户数量过多时,可能导致 OBServer 启动时报错 4013 内存不足的问题。](https://github.com/oceanbase/oceanbase/commit/aeaa65f1e5c89404c54f00fd978fce05ce9a8009)
* [修复 SQL 并发执行时,当执行计划中 `SUBPLAN FILTER` 右侧是 Hash Join,且 Hash Join 处理数据量比较小时,可能触发业务请求变慢, 租户 CPU 升高的问题。](https://github.com/oceanbase/oceanbase/commit/e90b359d2621265302bc94932688497b8cca1327)
* [修复 PDML 场景下,短时间内大量日志写入可能导致语句超时的问题。](https://github.com/oceanbase/oceanbase/commit/d93a9b10d59c3d751da43e9d62ed0efb3740ade5)
* [修复小规格场景下,EncodePivot 模块内存膨胀导致租户内存爆的问题。](https://github.com/oceanbase/oceanbase/commit/758147a7e171528514653c062a8e1fd4c27dbb68)
* [修复 Transfer 过程中,多表 Join 查询时,SqlExecutor 模块内存膨胀导致租户内存爆满的问题。](https://github.com/oceanbase/oceanbase/commit/b5e009d6c706b8ebc99a6cce9e7e649565cc8977)
* [修复使用 `INSERT INTO SELECT` 语句进行旁路导入数据时,报错 4038 的问题。](https://github.com/oceanbase/oceanbase/commit/ea87585b71ee65591b22283e954d12fe055b3ba2)
* [修复 OBKV insertup 接口性能问题,支持通过设置 `binlog_row_image` 为 MINIMAL 优化 insertup 接口性能。](https://github.com/oceanbase/oceanbase/commit/e41db9ca559553e638dacd1f41caa5bdb30b4d55)
* [修复大量租户环境下,后台线程占用 CPU 过高,导致集群连接异常的问题。](https://github.com/oceanbase/oceanbase/commit/d670ba79a7e0144eebae2b734db2a8082d38e7ee)

注意事项

从 V4.2.1_CE_BP2_HF1 版本开始,新建集群时,Nested Loop join(NLJ)和 SUBPLAN FILTER(SPF)算子的 BATCH RESCAN 优化默认会被关闭。然而,对于从老版本升级上来的集群,它们会默认保持原来的 BATCH RESCAN 打开的状态。对于存量的环境,如果发现 NLJ/SPF BATCH RESCAN 的稳定性问题,可以通过执行 `SET GLOBAL _nlj_batching_enabled = false;` 命令来关闭该优化,这将在整个集群范围内禁用 NLJ/SPF 的 BATCH RESCAN 优化。如果在关闭优化后性能不符合预期,可以根据具体情况重新评估并选择是否重新开启。


v4.2.1_CE_BP2_HF1

Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | December 18, 2023 |
| Version | V4.2.1_CE_BP2_HF1 |
| Commit number | [f675233](https://github.com/oceanbase/oceanbase/releases/tag/v4.2.1_CE_BP2_HF1) |
| OBServer RPM version | oceanbase-ce-4.2.1.2-102010022023121415 |

Overview

* This version addressed several customer and internal testing issues to enhance product stability.

* Starting from V4.2.1_CE_BP2_HF1, batch rescan is disabled by default for the NESTED-LOOP JOIN (NLJ) and SUBPLAN FILTER (SPF) operators during cluster creation. However, for clusters upgraded from earlier versions to this version, batch rescan is enabled by default. If stability issues are found in batch rescan for the NLJ or SPF operator in an environment with large amounts data, you can disable batch rescan for the operator in the entire cluster by executing the `SET GLOBAL _nlj_batching_enabled = false;` statement. If the performance is not as expected after batch rescan is disabled, you can evaluate whether to enable batch rescan again based on the actual situation.

Bug fixes

* [Fixed the issue where enabling batch rescan for NLJ operators could cause core dump issues on OBServer nodes when the the execution plan generated for an SQL statement includes NLJ operators with batch rescan enabled, and the right-side subplan of the NLJ operator includes operators with materialization operations such as MERGE GROUP BY.](https://github.com/oceanbase/oceanbase/commit/5b43b36a646c9c1c53e9ab6dac9096c6a534d4d7)

* [Fixed the issue where data in subpartitions was not fully scattered after the `SHARDING` attribute of a subpartitioned table group was set to `ADAPTIVE`.](https://github.com/oceanbase/oceanbase/commit/0192ab95e67e57b86107e615aa9ec86ef4f964dc)

* [Fixed the issue where the behavior of the `JSON_EXTRACT` function was inconsistent with that in MySQL Database.](https://github.com/oceanbase/oceanbase/commit/e28f81ddd395e8dea0ccb76024fb8aae324a593b)


版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-12-18 |
| 版本号 | V4.2.1_CE_BP2_HF1 |
| Commit 号 | [f675233](https://github.com/oceanbase/oceanbase/releases/tag/v4.2.1_CE_BP2_HF1) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.1.2-102010022023121415 |

发版目的

* 解决客户及内部测试遇到的问题,提升版本稳定性。

* 从V4.2.1_CE_BP2_HF1 版本开始,新建集群时,Nested Loop join(NLJ)和 SUBPLAN FILTER(SPF)算子的 BATCH RESCAN 优化默认会被关闭。然而,对于从老版本升级上来的集群,它们会默认保持原来的 BATCH RESCAN 打开的状态。对于存量的环境,如果发现 NLJ/SPF BATCH RESCAN 的稳定性问题,可以通过执行 `SET GLOBAL _nlj_batching_enabled = false;` 命令来关闭该优化,这将在整个集群范围内禁用 NLJ/SPF 的 BATCH RESCAN 优化。如果在关闭优化后性能不符合预期,可以根据具体情况重新评估并选择是否重新开启。

缺陷修复

* [修复在 Nested Loop join 算子开启 BATCH RESCAN 优化后,当 SQL 生成的执行计划里包含开启 BATCH RESCAN 的 NLJ 算子,且 NLJ 算子的右支子计划里包含 MERGE GROUP BY 等包含物化操作的算子时,可能导致 OBServer core 的问题。](https://github.com/oceanbase/oceanbase/commit/5b43b36a646c9c1c53e9ab6dac9096c6a534d4d7)

* [修复二级分区表组设置表组属性 `sharding = 'adaptive'` 时,一级分区下的二级分区数据分布没有被完全打散的问题。](https://github.com/oceanbase/oceanbase/commit/0192ab95e67e57b86107e615aa9ec86ef4f964dc)

* [修复 `JSON_EXTRACT` 函数与 MySQL 数据库行为不一致的问题。](https://github.com/oceanbase/oceanbase/commit/e28f81ddd395e8dea0ccb76024fb8aae324a593b)


v4.2.1_CE_BP2
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | December 7, 2023 |
| Version | V4.2.1_CE_BP2 |
| Commit number | [ccdde7d3](https://github.com/oceanbase/oceanbase/releases/tag/v4.2.1_CE_BP2) |
| OBServer RPM version | oceanbase-ce-4.2.1.2-102000042023120514 |

Enhanced features

* The MySQL mode of OceanBase Database now supports paging queries while maintaining the same sorting method for each query.
* A new command `TRANSFER PARTITION` is provided to manually adjust the distribution of partitions. With this command, you can migrate specific partitions to specific log streams to aggregate or scatter partitions.
* OBKV now supports data compression for remote procedure calls (RPCs), reducing network bandwidth usage and user costs.
* This version now allows you to set a threshold for switching the storage method of LOB data from INROW (stored in the primary table by using row storage) to OUTROW (stored in a separate LOB auxiliary table). This enhancement aims to improve the performance of LOB data queries.

Product behavioral changes

* The `backup_data_file_size` parameter, which is related to backup and restore, is changed from a cluster-level parameter to a tenant-level parameter.
* The `tableapi_transport_compress_func` parameter, which is related to TableAPI, is renamed as `kv_transport_compress_func`.
* A new parameter `kv_transport_compress_threshold` is introduced to specify the minimum threshold for compressing OBKV query result sets.
* The value range for adaptive adjustment of the `server_cpu_quota_min` and `server_cpu_quota_max` parameters is increased to meet requirements of larger specifications.

| cpu_count | (0C, 8C) | [8C, 16C) | [16C, 32C) | [32C, +∞) |
|-----------|----------|-----------|------------|-----------|
| server_cpu_quota_min | 1C | 2C | 3C | 4C |
| server_cpu_quota_max | 1C | 2C | 3C | 4C |

Bug fixes

* [Fixed the issue where the disk bandwidth was used up during a major compaction after a large amount of data was deleted. This issue occurred because, for each deleted data row, a macroblock was opened to verify whether the data row exists in the macroblock.](https://github.com/oceanbase/oceanbase/commit/64b5667b533e6b33b8053da38f9a5e4b6c48004b)
* [Fixed the issue where a core dump occurred on an OBServer node due to a concurrency error in an earlier version of the OpenSSL library during concurrent calls to encryption functions.](https://github.com/oceanbase/oceanbase/commit/e34c524d4a7543d381ade505a8adb7a15fd00e7f)
* [Fixed the issue where, during the execution of a transfer task, errors were encountered and LOB data writes were repeatedly retried due to the failure to refresh the location cache.](https://github.com/oceanbase/oceanbase/commit/7e1e3738ed50a899c09c3a0649b3ee4ceade2e41)
* [Fixed the issue where, during the concurrent creation of indexes on tables with many partitions, the concurrent execution of INNER SQL statements internally could result in a livelock, causing the task to be unable to progress.](https://github.com/oceanbase/oceanbase/commit/cd1eea43cd4c69d9769b5b3b4ffd941c225f47ed)
* [Fixed the issue where the period of time consumed in executing UPDATE operations on tables containing LOB data was long.](https://github.com/oceanbase/oceanbase/commit/ac0d44e9ca9d64ceb7aa5319137d49789b0b134c)
* [Fixed the issue where excessive disk space was occupied due to the retention of data snapshots during bypass imports of tables containing LOB data.](https://github.com/oceanbase/oceanbase/commit/213527cfbc3699737aec2a2328e5c1b754e06eed)
* [Fixed the issue where modifying the auto-increment column attribute in a table schema and performing a Truncate operation would result in Error 4016 due to the incorrect updates in internal tables.](https://github.com/oceanbase/oceanbase/commit/542cb51c1996019299f131faeeabb02057193f09)
* [Fixed the issue where data of multiple versions may exist when expired data was deleted based on `MaxVersions` in the HBase mode of OBKV.](https://github.com/oceanbase/oceanbase/commit/a888ec170502c3eac5d84ae91ed34d282e083de2)
* [Fixed the issue of memory leaks within the `SysJobMgr` module that caused Error 4013 due to memory exhaustion in the sys500 tenant during the execution of table-level restore tasks.](https://github.com/oceanbase/oceanbase/commit/8a22c6f0161ebc5d45d0021fffe01b80591329fa)
* [Fixed the issue where the units remained in the WAIT GC state for a long period of time and failed to release after deleting a tenant.](https://github.com/oceanbase/oceanbase/commit/df33c1c3267b6285ec50beae224ee55d9416359d)
* [Fixed the issue where, even after setting IOPS for resource isolation, the number of I/O operations would still exceed the limits in some scenarios.](https://github.com/oceanbase/oceanbase/commit/00f564089fd97aa746106353f1c33024ee58cacd)
* [Fixed the issue where a long period of time was consumed in a major compaction that involved millions of tablets.](https://github.com/oceanbase/oceanbase/commit/f61632eeee5d378df35b54e3d77ad6c9991a1f2e)
* [Optimized the log synchronization and physical restore performance.](https://github.com/oceanbase/oceanbase/commit/fc7670e56388135b2ed52792c9aca11cba8b1544)
* [Optimized the performance of spatial index queries by reducing the number of table access operations and minimizing the performance overhead in spatial relationship calculations.](https://github.com/oceanbase/oceanbase/commit/f9ae386433a59a0a9d2fcb2aeb4f6eb039d8b91a)

Considerations

* Before V4.2.1_CE_BP2, there was a problem with the limitation of PX threads, potentially resulting in high CPU load on OBServer nodes. However, this issue has been resolved in V4.2.1_CE_BP2, and an upgrade is recommended.

* In the current version, there are some instability issues when using the `INSERT INTO SELECT` statement for bypass import, particularly when triggering a data transfer. Therefore, it is not recommended to use the `INSERT INTO SELECT` statement for bypass import.

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-12-07 |
| 版本号 | V4.2.1_CE_BP2 |
| Commit 号 | [ccdde7d3](https://github.com/oceanbase/oceanbase/releases/tag/v4.2.1_CE_BP2) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.1.2-102000042023120514 |

特性增强

* MySQL Mode 支持分页查询保序。
* 新增 `TRANSFER PARTITION` 命令用于手动调整分区分布的能力。通过该命令,用户可以选择将特定的分区迁移到特定的日志流上,从而实现不同分区的聚合或打散分布。
* OBKV 支持 RPC 数据压缩,减小网络带宽占用,降低用户成本。
* 支持设置 LOB 数据存储方式由 INROW (和主表行存储在一起)转换为 OUTROW(将 LOB 数据存储在 LOB 辅助表中)的阈值,优化了大对象场景下的性能。

产品行为变更

* 备份恢复相关配置项 `backup_data_file_size` 由集群级调整为租户级。
* tableAPI 相关配置项 `tableapi_transport_compress_func` 更名为 `kv_transport_compress_func`。
* 新增配置项 `kv_transport_compress_threshold` 用于指定需要进行压缩的 OBKV 查询结果集大小的最小阈值。
* 配置项 `server_cpu_quota_min` 和 `server_cpu_quota_max` 增大自适应变更的范围,以满足更大规格的需求。

| cpu_count | (0c, 8c) | [8c, 16c) | [16c, 32c) | [32c, +∞) |
|-----------|----------|-----------|------------|-----------|
| server_cpu_quota_min | 1c | 2c | 3c | 4c |
| server_cpu_quota_max | 1c | 2c | 3c | 4c |

缺陷修复

* [修复在大量删除数据后做合并操作时,由于每行删除的数据都会打开对应宏块,判断是否存在于宏块中,导致磁盘带宽打爆的问题。](https://github.com/oceanbase/oceanbase/commit/64b5667b533e6b33b8053da38f9a5e4b6c48004b)
* [修复并发调用加密函数时,由于低版本 OpenSSL 库存在并发问题,可能导致 OBServer Core 的问题。](https://github.com/oceanbase/oceanbase/commit/e34c524d4a7543d381ade505a8adb7a15fd00e7f)
* [修复 Transfer 任务执行期间,在写入LOB 数据场景下,由于 Location Cache 没有刷新,导致写入一直重试并报错的问题。](https://github.com/oceanbase/oceanbase/commit/7e1e3738ed50a899c09c3a0649b3ee4ceade2e41)
* [修复对分区数较多的表大量并发建索引时,内部发起的 INNER SQL 并发执行可能形成活锁,导致无法推进任务的问题。](https://github.com/oceanbase/oceanbase/commit/cd1eea43cd4c69d9769b5b3b4ffd941c225f47ed)
* [修复对包含 LOB 类型数据的表执行 Update 操作耗时高的问题。](https://github.com/oceanbase/oceanbase/commit/ac0d44e9ca9d64ceb7aa5319137d49789b0b134c)
* [修复旁路导入包含 LOB 数据时,保留了数据快照,导致磁盘空间占用过多的问题。](https://github.com/oceanbase/oceanbase/commit/213527cfbc3699737aec2a2328e5c1b754e06eed)
* [修复表结构进行自增列属性变更且执行 Truncate 操作后,由于内部表没有正确更新,可能导致表操作报错 4016 的问题。](https://github.com/oceanbase/oceanbase/commit/542cb51c1996019299f131faeeabb02057193f09)
* [修复 OBKV HBase 模式基于 `MaxVersions` 进行过期删除时,可能存在多版本数据的问题。](https://github.com/oceanbase/oceanbase/commit/a888ec170502c3eac5d84ae91ed34d282e083de2)
* [修复执行表级恢复任务时,`SysJobMgr` 模块内存泄漏导致 500 租户内存耗尽报错 4013 的问题。](https://github.com/oceanbase/oceanbase/commit/8a22c6f0161ebc5d45d0021fffe01b80591329fa)
* [修复删除租户后,Unit 长时间不释放,状态卡在 WAIT GC 的问题。](https://github.com/oceanbase/oceanbase/commit/df33c1c3267b6285ec50beae224ee55d9416359d)
* [修复设置 IOPS 资源隔离后,部分场景下 IO 仍会超出限制的问题。](https://github.com/oceanbase/oceanbase/commit/00f564089fd97aa746106353f1c33024ee58cacd)
* [优化百万 Tablet 场景下,合并耗时高的问题。](https://github.com/oceanbase/oceanbase/commit/f61632eeee5d378df35b54e3d77ad6c9991a1f2e)
* [优化日志同步以及物理恢复性能。](https://github.com/oceanbase/oceanbase/commit/fc7670e56388135b2ed52792c9aca11cba8b1544)
* [优化空间索引查询性能,减少回表次数并降低空间关系计算的性能开销。](https://github.com/oceanbase/oceanbase/commit/f9ae386433a59a0a9d2fcb2aeb4f6eb039d8b91a)

注意事项

* V4.2.1_CE_BP2 之前版本,存在 PX 线程限制失效问题,可能会导致 OBServer 的 CPU 负载过高,该问题在 V4.2.1_CE_BP2 已修复,并推荐进行升级。
* 当前版本使用 `INSERT INTO SELECT` 语句旁路导入数据时,如果触发 Transfer,会存在一些不稳定的问题,因此不推荐通过此方法进行旁路导入。


v4.2.1_CE_BP1_HF1

Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | November 13, 2023 |
| Version | V4.2.1_CE_BP1_HF1 |
| Commit number | [2f6924c](https://github.com/oceanbase/oceanbase/commit/2f6924cd5a576f09d6e7f212fac83f1a15ff531a) |
| OBServer RPM version | oceanbase-ce-4.2.1.1-101010012023111012 |

Overview

This version addressed several customer and internal testing issues to enhance product stability.


Bug fixes and improvements

* [Added a hidden parameter to maintain the same sorting method for each query when paging queries were performed. This feature is compatible with MySQL Database.](https://github.com/oceanbase/oceanbase/commit/2f6924cd5a576f09d6e7f212fac83f1a15ff531a)

* [Fixed the issue where a TTL task occupied too much memory when the OBKV was scanning expired data.](https://github.com/oceanbase/oceanbase/commit/123c042449e27ab09c203c07d1993deefb439c16)

* [Fixed the issue where the original leader of the log stream failed to release the memory occupied by the OBKV TTL task after the log stream switched to a new leader.](https://github.com/oceanbase/oceanbase/commit/b2f0de7253e06362ff4fa307b19dde0867277606)

* [Fixed the memory leak issue in the CreateContext module that might be caused by frequent creation of new connections during the transmission of large objects and text data.](https://github.com/oceanbase/oceanbase/commit/cff2efe3cda625b7975185c945b760f316e29f4e)

* [Fixed the issue where excessive logs were printed when there was a change in tenant roles.](https://github.com/oceanbase/oceanbase/commit/5c6b8e668b17fc70c0fd1eefd062a049d79be500)

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-11-13 |
| 版本号 | V4.2.1_CE_BP1_HF1 |
| Commit 号 | [2f6924c](https://github.com/oceanbase/oceanbase/commit/2f6924cd5a576f09d6e7f212fac83f1a15ff531a) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.1.1-101010012023111012 |

发版目的

解决客户及内部测试遇到的问题,提升版本稳定性。

缺陷修复

* [新增隐藏配置项,以支持与 MySQL 数据库兼容的分页查询保序功能。](https://github.com/oceanbase/oceanbase/commit/2f6924cd5a576f09d6e7f212fac83f1a15ff531a)
* [修复 OBKV 扫描过期数据时,TTL 任务占用过多内存的问题。](https://github.com/oceanbase/oceanbase/commit/123c042449e27ab09c203c07d1993deefb439c16)
* [修复 LS 切主后,原 LS Leader 持有的 OBKV TTL 任务没有释放占用内存的问题。](https://github.com/oceanbase/oceanbase/commit/b2f0de7253e06362ff4fa307b19dde0867277606)
* [修复在传输大对象和文本类型数据时,频繁创建新连接可能导致的 CreateContext 模块内存泄漏问题。](https://github.com/oceanbase/oceanbase/commit/cff2efe3cda625b7975185c945b760f316e29f4e)
* [修复租户角色变更时日志打印过多问题。](https://github.com/oceanbase/oceanbase/commit/5c6b8e668b17fc70c0fd1eefd062a049d79be500)


v4.2.1_CE_BP1
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | November 1, 2023 |
| Version | V4.2.1_CE_BP1 |
| Commit number | [7cb0fb4](https://github.com/oceanbase/oceanbase/commit/7cb0fb494fce3962ae3f067991d6581c96bc0a9e) |
| OBServer RPM version | oceanbase-ce-4.2.1.1-101000062023110109 |

Overview

* This version improved the compatibility of user-defined variables with MySQL Database.

* This version added two views `GV$OB_KV_CONNECTIONS` and `V$OB_KV_CONNECTIONS` to query all active connections of the current tenant in an OBKV database.

* The maximum length of the system variable `ob_tcp_invited_nodes` was changed to 64 KB.

* The default value of the `ls_gc_delay_time` parameter was changed to `0`.

* This version addressed several customer and internal testing issues to enhance product stability.

Bug fixes

* [Fixed the issue where Error 5150 was constantly reported because the tablet location cache of the auto-increment column was not refreshed after the number of units was adjusted for scaling.](https://github.com/oceanbase/oceanbase/commit/f257fc0155820b9d2ca43dd1a9028e9cf606e32f)
* [Fixed the issue in V4.x_CE where a 50 ms timeout limit was set when obtaining GTS snapshot versions, causing failure to successfully obtain Global Timestamp Service (GTS) snapshot versions in high-latency networks and continuous error `OB_GTS_NOT_READY`.](https://github.com/oceanbase/oceanbase/commit/532e24bc0cfa443a38845f35c94ede8744fbdaa1)
* [Fixed the issue where using the HBaseAPI of the OBKV client for batch PUT operations could potentially cause OBServer node crashes.](https://github.com/oceanbase/oceanbase/commit/4a8d26d6a396ce8fa05849baa2cc74dd3cf7fdf8)
* [Fixed the issue where performing InsertOrUpdate operations on the OBKV client with a column specified as the time-to-live (TTL) column using `CURRENT_TIMESTAMP` could cause OBServer node crashes.](https://github.com/oceanbase/oceanbase/commit/030f2ef8ac8cf625f006f78a607b92f51cfd4bd6)
* [Fixed the issue where a core dump might be triggered when the SUBPLAN FILTER (SPF) operator is used for batch rescan. A parameter was added to disable this feature by default.](https://github.com/oceanbase/oceanbase/commit/3ce0b3a0bbeaa5c5fcb541dd650031494e515b1a)
* [Fixed the issue where SQL statements in user-defined functions (UDFs) failed to hit the plan cache when `tx_read_only` is set to `True`.](https://github.com/oceanbase/oceanbase/commit/8d4a0a5099ffb8e11490cdb5f1c28e9cf5b37ed8)
* [Fixed the issue where Error 4002 was reported in PS mode when the default value NULL of a complex data type is used as an input parameter of a stored procedure.](https://github.com/oceanbase/oceanbase/commit/78633e0ef9be82a12cfe355c301183d1ab9126c3)
* [Fixed the issue where some parallel DML (PDML) features might not take effect in multi-table joins.](https://github.com/oceanbase/oceanbase/commit/7998110914d55e92905fbffa0f4bb0a7bb421562)
* [Fixed the issue where memory leak ocurred in the TenantTTLMgr module after TTL tasks were executed in the HBase storage model.](https://github.com/oceanbase/oceanbase/commit/b50022a3551c2712f2db7e5eb6d8bf9453c73875)
* [Fixed the potential issue of data and load imbalance after importing data into non-partitioned tables during parallel table creation.](https://github.com/oceanbase/oceanbase/commit/b8bf17db2651747c1cef16bc38769fd668ffded9)

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-11-01 |
| 版本号 | V4.2.1_CE_BP1 |
| Commit 号 | [7cb0fb4](https://github.com/oceanbase/oceanbase/commit/7cb0fb494fce3962ae3f067991d6581c96bc0a9e) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.1.1-101000062023110109 |

发版目的

* 提升用户自定义变量与 MySQL 数据库的兼容性。
* OBKV 新增视图 `GV$OB_KV_CONNECTIONS`、`V$OB_KV_CONNECTIONS` 用于查看本租户所有的 KV 活跃连接。
* 系统变量 `ob_tcp_invited_nodes` 长度限制调整为 64K。
* 配置项 `ls_gc_delay_time` 默认值调整为 0。
* 解决客户及内部测试遇到的问题,提升版本稳定性。

缺陷修复

* [修复调整 Unit Number 进行扩缩容后,自增列的 Tablet location cache 没有刷新,导致持续报错 5150 的问题。](https://github.com/oceanbase/oceanbase/commit/f257fc0155820b9d2ca43dd1a9028e9cf606e32f)
* [修复 4.x_CE 版本在获取 GTS 快照版本时设置了 50ms 的超时限制,导致在高延迟网络下无法成功获取 GTS 快照版本,查询持续报错 `OB_GTS_NOT_READY` 的问题。](https://github.com/oceanbase/oceanbase/commit/532e24bc0cfa443a38845f35c94ede8744fbdaa1)
* [修复使用 OBKV 客户端的 HBaseAPI 进行批量 PUT 操作时,可能导致节点宕机的问题。](https://github.com/oceanbase/oceanbase/commit/4a8d26d6a396ce8fa05849baa2cc74dd3cf7fdf8)
* [修复 OBKV 指定带 `CURRENT_TIMESTAMP` 的列作为 TTL 过期列时,使用 OBKV 客户端执行 InsertOrUpdate 操作导致节点宕机的问题。](https://github.com/oceanbase/oceanbase/commit/030f2ef8ac8cf625f006f78a607b92f51cfd4bd6)
* [修复 SPF 算子进行 Batch Rescan 场景下可能触发的 Core 问题,新增开关默认关闭该功能。](https://github.com/oceanbase/oceanbase/commit/3ce0b3a0bbeaa5c5fcb541dd650031494e515b1a)
* [修复 `tx_read_only` 设置为 True 的情况下,UDF 内部 SQL 无法命中 Plan Cache 的问题。](https://github.com/oceanbase/oceanbase/commit/8d4a0a5099ffb8e11490cdb5f1c28e9cf5b37ed8)
* [修复 PS 模式下,复杂类型作为存储过程入参且默认值为 NULL 时,使用默认值报错 4002 的问题。](https://github.com/oceanbase/oceanbase/commit/78633e0ef9be82a12cfe355c301183d1ab9126c3)
* [修复多表关联场景下,部分 PDML 功能可能不生效的问题。](https://github.com/oceanbase/oceanbase/commit/7998110914d55e92905fbffa0f4bb0a7bb421562)
* [修复 Hbase 存储模型执行 TTL 任务后,TenantTTLMgr 模块内存泄漏问题。](https://github.com/oceanbase/oceanbase/commit/b50022a3551c2712f2db7e5eb6d8bf9453c73875)
* [修复非分区表并行建表导入数据后,可能存在数据和负载不均衡的问题。](https://github.com/oceanbase/oceanbase/commit/b8bf17db2651747c1cef16bc38769fd668ffded9)


v4.1.0_CE_BP4_HF1
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | October 8, 2023 |
| Version | V4.1.0_CE_BP4_HF1 |
| Commit number | [c8a22da](https://github.com/oceanbase/oceanbase/commit/c8a22dad9e5992353ca80f62d4027a085d952983) |
| OBServer RPM version | oceanbase-ce-4.1.0.2-104010012023100710 |

Overview

This version addressed several customer and internal testing issues to enhance product stability.

Bug fixes

[Fixed the issue where the query results might be incorrect when the query plan included the `EXCHANGE OUT DISTR (PKEY)` field. This issue occurred when parallel JOIN operations were performed on partitioned tables during the upgrade where multiple versions were running at the same time.](https://github.com/oceanbase/oceanbase/commit/c8a22dad9e5992353ca80f62d4027a085d952983)


版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-10-08 |
| 版本号 | V4.1.0_CE_BP4_HF1 |
| Commit 号 | [c8a22da](https://github.com/oceanbase/oceanbase/commit/c8a22dad9e5992353ca80f62d4027a085d952983) |
| OBServer RPM 版本号 | oceanbase-ce-4.1.0.2-104010012023100710 |

发版目的

解决客户及内部测试遇到的问题,提升版本稳定性。

缺陷修复

[修复在升级期间(不同版本同时运行),对分区表并行执行 JOIN 操作的场景下,当查询计划中包含 `EXCHANGE OUT DISTR (PKEY)` 时,查询结果可能不正确的问题。](https://github.com/oceanbase/oceanbase/commit/c8a22dad9e5992353ca80f62d4027a085d952983)


v4.2.1_CE
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | October 13, 2023 |
| Version | V4.2.1_CE |
| Commit number | [7b0f436](https://github.com/oceanbase/oceanbase/commit/7b0f43693565654bb1d7343f728bc2013dfff959) |
| OBServer RPM version | oceanbase-ce-4.2.1.0-100000102023092807 |

Overview

OceanBase Database V4.2.1_CE is the first Long-Term Support (LTS) version of the V4.2.x_CE series. This version comes with a range of MySQL-compatible features, such as the `VALUES` statement and `JSON_TABLE` expression. It also introduced the Workload Repository (WR)-based data collection framework and enhanced end-to-end diagnostic capabilities for commercialization. In addition, this version optimized system resource utilization and supports table-level restore and Tencent Cloud Object Storage (COS). This version is recommended in production environments for regular business operations.

Key features

Compatibility with MySQL

* `VALUES` statement

The `VALUES` statement was introduced in MySQL 8.0.19. It can be used to quickly construct a table of data or as a standalone DML statement with support for `ORDER BY` and `Limit` clauses. It can also be used as a special table in regular DML statements. OceanBase Database V4.2.1_CE is compatible with MySQL Database and supports the `VALUES` statement, making table value construction more convenient and easy to use.
<!-- For more information, see [VALUES](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000221394) -->

* `RENAME COLUMN`

The `RENAME COLUMN` syntax was supported since MySQL 8.0. It allows users to rename columns without changing their definitions, which is more lightweight than the `CHANGE COLUMN` syntax. OceanBase Database is compatible with the `RENAME COLUMN` syntax of MySQL 8.0 since V4.2.1_CE.
<!-- For more information, see [RENAME COLUMN](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000221389). -->

OBKV features

* `JSON_TABLE` expression

JSON is a semi-structured data format where users can extract specific values from the JSON strings based on a path. The `JSON_TABLE` expression allows users to convert semi-structured data into structured data. The earlier versions of OceanBase Database already supported the JSON data type, but the `JSON_TABLE` expression was not implemented under the MySQL mode. To meet the needs of users who want to convert JSON data into structured data for computations, V4.2.1_CE also supports this expression under the MySQL mode.
<!-- For detailed instructions, see [JSON_TABLE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222214). -->

* OBKV TTL

Time-to-live (TTL) is a commonly used feature in NoSQL databases, designed to automatically expire data. For example, in businesses that deal with historical data, there is a need to periodically scan the data, determine its expiration time, and delete it accordingly. Many businesses currently rely on the TableAPI of OBKV. To simplify the management of periodic data, OceanBase Database provided the OBKV TTL capability since V4.2.1_CE. Users can define TTL attributes at the table or row level using the `CREATE TABLE` statement so that expired data is not processed during read and write operations in OBKV.
<!-- For more information, see [TTL](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218144). -->

Performance improvements

* Concurrent execution of `CREATE TABLE`

In the earlier versions of OceanBase Database, DDL requests were executed serially in RootService queues. Starting from OceanBase Database V4.1.0_CE, the concurrent DDL capability was introduced, with support for concurrent execution of `TRUNCATE TABLE`. To address the performance issues related to migrating millions of table structures, V4.2.1_CE now supports concurrent execution of `CREATE TABLE`, providing a performance improvement of tenfold or even more compared with serial execution.

* Improved foreign key check performance

Prior to OceanBase Database V4.2.1_CE, foreign key checks were implemented using nested SQL statements, incurring significant overhead. From V4.2.1_CE, foreign key checks are performed using Database Autonomy Service (DAS) tasks, and batch checks in single-table DML operations is supported. Additionally, with the check result caching strategy, noticeable performance improvements have been achieved in `INSERT` and `UPDATE` scenarios. In a single-node scenario (where the parent table and child table are on the same node), the performance degradation caused by foreign key checks during `INSERT` and `UPDATE` operations on foreign key tables is generally controlled to around 10% compared with tables without foreign keys. In a distributed scenario (where the parent table and child table are on different nodes), the performance degradation is generally controlled to around 30% compared with tables without foreign keys during `INSERT` and `UPDATE` operations.

* Dynamic sampling on MemTables

OceanBase Database V4.2.0_CE introduced the dynamic sampling feature, which samples data during the generation of an execution plan. When the number of rows in the SSTable exceeds that in the MemTable, dynamic sampling is performed on SSTable blocks. When the number of rows in the MemTable exceeds that in the SSTable, dynamic sampling is performed on the MemTable. In V4.2.0_CE, this was achieved through full read of the MemTable, which was relatively inefficient. However, in V4.2.1_CE, direct sampling for the MemTable is implemented, utilizing RANGE partitioning to perform interval reads. This enhancement significantly improves the efficiency of dynamic sampling on the MemTable.

* Parallel read of archived logs

In OceanBase Database V4.1.0_CE, OceanBase Change Data Capture (CDC) can consume archived logs through the CDC service or directly consume logs from the archive destination. In V4.2.0_CE, a network-based standby database reuses the log pulling framework of OceanBase CDC to pull logs from the primary database by using the CDC service. After the CDC service receives a log pulling remote procedure call (RPC) request from OceanBase CDC or a network-based standby database, the service first attempts to read logs from the local disk. If the corresponding logs do not exist in the local disk due to reasons such as log stream garbage collection (GC) or log recycling, and if the tenant has enabled log archiving, the CDC service reads logs from the log archive destination, such as the network file system (NFS) or Alibaba Cloud Object Storage Service (OSS). The log reading performance of the CDC service determines the log consumption speed at the downstream. If the performance of the CDC service in reading archived logs from OSS is poor, the synchronization link or the network-based standby database may lag behind the primary database and may be unable to become synchronized with the primary database. To address this issue, V4.2.1_CE allows the CDC service to consume OSS-archived log files based on the basic capability of parallel consumption of OSS files.

Resource optimization

This version optimized the utilization of system resources in public cloud environments, including user tenant memory, memory of the SYS500 tenant, and operating system memory. For example, for Elastic Compute Service (ECS) instances with specifications of 128 GB or higher, the memory utilization of system resources has been reduced from around 30% to approximately 15%.

High availability enhancement

* Table-level restore

Prior to OceanBase Database V4.2.1_CE, tenant-level data restore was supported. If data within a table was damaged due to a misoperation, users needed to rely on the physical restore feature to restore the tenant to a previous point in time or use the import/export feature for table-level restore. V4.2.1_CE added support for table-level restore, allowing users to specify which backup data to use, which databases or tables to restore, which tenant to operate on, and the desired recovery point in time on the target cluster.
<!-- For more information, see [Table-level restore](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218375). -->

* Support for COS

OceanBase Database V4.1.0_CE supports OSS as the backup media. OceanBase Database V4.2.1_CE supplements this support by allowing users to back up logs and data to COS and read backup data from COS for data restore.

Security enhancement

**Data integrity protection**: The Security Assessment of Commercial Cryptography Application imposes requirements for confidentiality and integrity protection on stored data in information systems. In the versions earlier than V4.2.1_CE, the transparent encryption feature of OceanBase Database has already supported `AES_ECD` and `SM4_CBC` (which are named in the format of encryption algorithm_encryption mode), providing confidentiality protection for stored data. V4.2.1_CE added support for the GCM mode. In addition to data encryption, the checksum of ciphertext is calculated based on the key, and the ciphertext is checked during decryption to determine whether the ciphertext has been changed, thereby protecting data integrity.

Diagnostic capabilities improvement

* WR-based data collection framework

The ease of use of the database performance diagnostics feature is closely related to the efficiency of system tuning. Oracle Database 10g introduces proactive automatic diagnostic capabilities such as Active Session History (ASH), Automatic Workload Repository (AWR), and Automatic Database Diagnostic Monitor (ADDM), and provides an inside-out (with information collected by internal components) and top-down (based on the database time and other metrics) database optimization and analysis framework. After decades of development, these capabilities have become industry benchmarks. OceanBase Database V4.2.1_CE implements a data collection framework similar to AWR of Oracle Database. The framework collects existing data such as ASH reports, statistics, wait events, and SQL execution details, and periodically persists performance-related views of OceanBase Database. OceanBase Database V4.2.1_CE introduces WR views and supports configuration adjustment and snapshot management by using `DBMS_WORKLOAD_REPOSITORY` packages. The new version also unifies, streamlines, enriches, and enhances SYSSTAT, ASH, and other statistical metrics for higher comprehensiveness and accuracy. The performance diagnostic capabilities will be further enhanced in future OceanBase Database versions.
<!-- For more information, see [Overview of WR](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218947). -->

* Enhanced ASH feature

The ASH feature was introduced in OceanBase Database V4.0.0_CE. It samples the status of all active sessions in the system at an interval of 1 second and records the information in internal tables. In OceanBase Database V4.2.1_CE, additional sampling points related to transactions, storage, and DAS were added. The ASH data is collected into the WR internal table at a default sampling rate of 10:1 and a collection interval of 1 hour. By analyzing ASH data, you can easily identify issues such as long wait events, slow SQL statements, and resource utilization of active sessions, which helps in performance optimization.

* End-to-end diagnostics feature

OceanBase Database V4.2.0_CE supports visualized end-to-end tracing of SQL requests, and in V4.2.1_CE, the configuration management capability for end-to-end diagnosis is further enhanced. A new view `GV$OB_FLT_TRACE_CONFIG` is added to record the configuration policies for end-to-end diagnostics at different levels. The `GV$OB_PROCESSLIST` view now includes `LEVEL`, `SAMPLE_PERCENTAGE`, and `RECORD_POLICY` columns to display the monitoring level, sampling frequency, and recording/printing policy that are effective for each session. Additionally, the `GV$OB_SQL_AUDIT` view includes a new column `FLT_TRACE_ID` to record the end-to-end trace information, enabling comprehensive SQL tracing. OceanBase Cloud Platform (OCP) will also provide corresponding page functionality to support this feature.

Product behavioral changes

The following table describes the product behavioral changes made in this version.

| **Feature** | **Change description** |
| --- | --- |
| Triggers disabled for the `LOAD DATA` statement | The `LOAD DATA` statement is executed in parallel for fast data import. When parallel execution involves triggers, trigger correctness issues may occur. Therefore, triggers are disabled for the `LOAD DATA` statement in OceanBase Database V4.2.1_CE. |
| Semantic change for `tenant=all` | <ul><li>In the versions earlier than OceanBase Database V4.2.1_CE, the semantics of <code>tenant=all</code> was ambiguous. For example, <code>tenant=all</code> indicates all tenants in system parameter settings, but indicates user tenants in backup and restore settings. </li><li>Since OceanBase Database V4.2.1_CE, the semantics of <code>tenant=all</code> is changed and specifies "to include only all user tenants and to exclude SYS and META tenants". <code>tenant=all_user</code> and <code>tenant=all_meta</code> are added, which respectively indicate all user tenants and all META tenants. After the change, <code>tenant=all</code> and <code>tenant=all_user</code> share the exact same semantics. Therefore, <code>tenant=all</code> will be deprecated in future versions. </li></ul> |
| Refined load balancing control | <ul><li>OceanBase Database V4.2.0_CE introduced the load balancing and transfer capabilities, which are specified by the tenant-level parameter <code>enable_rebalance</code>. However, when the <code>enable_rebalance</code> parameter is disabled, you cannot modify <code>unit_num</code>, <code>primary_zone</code>, and other parameters in O&M commands. </li><li>OceanBase Database V4.2.1_CE introduced the tenant-level parameter <code>enable_transfer</code>, which allows you to disable the transfer feature for a tenant. You can use it with the <code>enable_rebalance</code> parameter to control the load balancing strategy for a tenant. <ul><li><code>enable_rebalance=true</code> and <code>enable_transfer=true</code>: specify to dynamically adjust the number of log streams for a tenant based on the load balancing algorithm and automatically perform leader balancing and partition balancing for the tenant. </li><li><code>enable_rebalance=true</code> and <code>enable_transfer=false</code>: specify not to dynamically adjust the number of log streams or perform transfer but only to perform log stream balancing based on existing log streams. </li><li><code>enable_rebalance=false</code> and <code>enable_transfer</code>: invalid. In this case, no load balancing related O&M commands are allowed. </li></ul></li></ul> |
| Case sensitivity in OceanBase CDC | OceanBase CDC is case insensitive in the versions earlier than V4.2.1_CE. The new version supports case sensitivity. The database and table names are output according to the setting of the <code>lower_case_table_names</code> parameter, whose valid values are `0`, `1`, and `2`. |
| Transport Layer Security (TLS) protocol version for SSL encryption | In the versions earlier than V4.2.1_CE, there were no restrictions on the TLS protocol version for SSL encryption. Therefore, clients can use the TLS protocol of an early version for encrypted communication with databases. However, some scenarios require TLS1.2 and TLS1.3 for higher security. For compatibility with clients of earlier versions, OceanBase Database V4.2.1_CE introduces the <code>sql_protocol_min_tls_version</code> parameter, which allows you to specify the minimum version of the TLS protocol. The default value is compatible with previous versions. |
| Calling a stored procedure with an output parameter without returning a result set | MySQL allows you to call a stored procedure with an output parameter without returning the result set of the output parameter. <ul><li> In the versions earlier than OceanBase Database V4.2.1_CE, a result set of an output parameter is returned, causing the native MySQL driver to report an error. </li><li>In OceanBase Database V4.2.1_CE, after you execute a `CALL` statement by using OBClient, the result set of the output parameter is no longer displayed. </li></ul> |
| zlib compression disabled | In OceanBase Database V4.2.1_CE, you cannot use `zlib` compression for new tables or change the compression algorithm of an existing table to `zlib`. |

View changes

The following table describes the changes to views made in this version.

| **View** | **Change type** | **Description** |
| --- | --- | --- |
| CDB/DBA_WR_CONTROL | New | Stores WR-related configurations. |
| [G]V$OB_TENANT_RUNTIME_INFO | New | Displays the running details of tenants. |
| [G]V$OB_SQL_AUDIT | Modified | The `FLT_TRACE_ID` column is added to record end-to-end trace information. |

Parameter changes

The following table describes the parameter changes made in this version.

| **Parameter** | **Change type** | **Description** |
| --- | --- | --- |
| memory_limit_percentage | Modified | The upper limit of the percentage of available memory for OBServer nodes is changed from 90% to 95%. OBServer nodes are allowed to use a higher percentage of resources in servers with high specifications. |
| sql_protocol_min_tls_version | New | The minimum version of the SSL/TLS protocol used by SSL connections for SQL statements. This is a cluster-level parameter. The default value is `none`, which means there are no restrictions on the TLS version for connections. <main id="notice" type='explain'><h4>Note</h4><p>This parameter controls only the version number of SSL. To enable SSL, you must set the <code>ssl_client_authentication</code> parameter. </p></main> |
| enable_transfer | New | Specifies whether to allow transfer within the tenant. This is a tenant-level parameter. This parameter is invalid when `enable_rebalance` is disabled. The default value is `True`, which indicates that transfer within the tenant is allowed. |
| compaction_dag_cnt_limit | New | The maximum number of directed acyclic graphs (DAGs) in a compaction DAG queue. This parameter is a tenant-level parameter. The default value is `15000`. In scenarios with millions of partitions, you can increase the value of this parameter to speed up compaction, which however increases memory consumption. |
| compaction_schedule_tablet_batch_cnt | New | The maximum number of partitions that can be scheduled in each batch for batch compaction scheduling. This parameter is a tenant-level parameter. The default value is `50000`. In scenarios with millions of partitions, you can increase the value of this parameter to speed up compaction, which however increases CPU consumption and results in longer thread scheduling time. |
| server_cpu_quota_min | Modified | The default value is changed from `1` to `0`, and the value range is changed to [0, 16]. The value `0` indicates that the specifications of the `sys` tenant are adaptive. |
| server_cpu_quota_max | Modified | The default value is changed from `1` to `0`, and the value range is changed to [0, 16]. The value `0` indicates that the specifications of the `sys` tenant are adaptive. |

Recommended versions of tools

The recommended platform tool versions for OceanBase Database V4.2.1_CE are described in the following table:

| Tool | Version |
| --- | --- |

2.2.3

升级说明

* 支持 OceanBase 数据库 V4.2.0_CE 版本在线升级到 OceanBase 数据库 V4.2.1_CE 版本。
* 支持 OceanBase 数据库 V4.1.0_CE 版本在线升级到 OceanBase 数据库 V4.2.1_CE 版本。
* OceanBase 数据库和 ODP 升级顺序:建议先升级 OceanBase 版本,再升级 ODP 版本。
* 升级期间,系统会自动禁用合并和 DDL 操作,升级完成后恢复正常使用。
* 不支持从 OceanBase 数据库 V3.x_CE 版本在线升级到 OceanBase 数据库 V4.2.1_CE 版本。
* 支持通过 OMS 将 OceanBase 数据库 V3.x_CE 版本数据使用逻辑迁移升级到 OceanBase 数据库 V4.2.1_CE 版本。


v4.1.0_CE_BP4
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | September 25, 2023 |
| Version | V4.1.0_CE_BP4 |
| Commit number | [6059cef](https://github.com/oceanbase/oceanbase/commit/6059cef14d9ab49773c095c1204c8ec6196f2bfa) |

Overview

* This version addressed several customer and internal testing issues to enhance product stability.
* Disable the temporary table feature in MySQL mode.

Bug fixes

* [Fixed the issue where a size overflow problem might occur in a SQL statement if there were a large number of OR conditions or if a large number of OR conditions were generated after the SQL statement was rewritten.](https://github.com/oceanbase/oceanbase/commit/761088e0fdb86f3e37410fef52d28b362c0e3a70)
* [Fixed the issue where the index skip scan plan was used to query partitioned tables due to inaccurate statistics, resulting in memory bloat in the TableRescanCtx module.](https://github.com/oceanbase/oceanbase/commit/4bddbda7e9f81550060eeacedd3afedb958ebb38)
* [Fixed the issue where new backup tenants might encounter a request queue backlog problem during the switchover between primary and backup nodes.](https://github.com/oceanbase/oceanbase/commit/3d8630de5503a1d49c35bb14222fbab9e707102f)
* [Fixed the issue where there was an inconsistency between the data obtained through vectorized table scan and non-vectorized table scan due to vectorized decoding exceptions.](https://github.com/oceanbase/oceanbase/commit/9c8f1a11955326d28721762fdf40e2a378308f45)
* [Fixed the issue where after creating a function index, if the result of the function index expression depended on system variables, Error 4377 might be reported when modifying the system variables and then performing update or delete operations. Added Error code 5500 to distinguish this type of issue.](https://github.com/oceanbase/oceanbase/commit/0a266c829d80b0f788df2890d4a0087d9be28bfa)
* [Fixed the issue where a disconnection problem might occur during the upgrade from OceanBase Database Community Edition V4.1.0 to V4.2.0. If the source version is earlier than V4.1.0 BP4, this issue can be avoided by first upgrading OceanBase Database and then upgrading OceanBase Database Proxy (ODP).](https://github.com/oceanbase/oceanbase/commit/dd9169aa1329fc391cddb4e91e4541af0d549b72)
* [Fixed the issue where the disk space calculation error after migration caused the unit to be migrated back and forth.](https://github.com/oceanbase/oceanbase/commit/6f643df686f730bd9a2d5387de806a890e2c1d22)
* [Fixed the issue where OBKV failed to use local indexes for queries when partitioned tables were used.](https://github.com/oceanbase/oceanbase/commit/803bb5671a61d23d95ff8304b0a426ec0c88a9ec)
* [Fixed the issue of continuous reporting of Error 4013 and inability to successfully refresh the schema when the OBServer node was restarted. The cause of this issue was that the number of records in the `__all_virtual_table_history` table of a tenant in the cluster exceeded 4 million.](https://github.com/oceanbase/oceanbase/commit/834cf35f57f1d7805f66829e9ee84b53a58be256)
* [Fixed the following issue: When performing a Partition Wise Join operation on two partitioned tables with slightly different partitioning methods, but with the same partitioning method after partition pruning, different results might be returned under different degrees of parallelism.](https://github.com/oceanbase/oceanbase/commit/acd6b1ec31719e1b051c6ac96fed4428e70d6552)
* [Fixed the issue where MySqlConnector (a .NET driver) encountered an error when connecting to OceanBase Database and executing statements related to stored procedure.](https://github.com/oceanbase/oceanbase/commit/5258220354f6fb1f4092e29fd887510f650f17b0)

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-09-25 |
| 版本号 | V4.1.0_CE_BP4 |
| Commit 号 | [6059cef](https://github.com/oceanbase/oceanbase/commit/6059cef14d9ab49773c095c1204c8ec6196f2bfa) |

发版目的

* 解决客户及内部测试遇到的问题,提升版本稳定性。
* MySQL 模式下禁用临时表功能。

缺陷修复

* [修复在 SQL 语句中,当包含大量 OR 条件或进行改写后产生大量 OR 条件的场景下,可能会触发 Size Overflow 的问题。](https://github.com/oceanbase/oceanbase/commit/761088e0fdb86f3e37410fef52d28b362c0e3a70)
* [修复在统计信息不准确的情况下,分区表可能会出现查询错误选择了 Index skip scan 计划,导致 TableRescanCtx 模块内存膨胀的问题。](https://github.com/oceanbase/oceanbase/commit/4bddbda7e9f81550060eeacedd3afedb958ebb38)
* [修复在主节点和备节点切换的过程中,可能出现新的备租户请求队列积压的问题。](https://github.com/oceanbase/oceanbase/commit/3d8630de5503a1d49c35bb14222fbab9e707102f)
* [修复向量化解码异常可能导致的,Table Scan 向量化查到的数据和非向量化不一致的问题。](https://github.com/oceanbase/oceanbase/commit/9c8f1a11955326d28721762fdf40e2a378308f45)
* [修复创建函数索引后,若函数索引表达式的结果依赖于系统变量,修改系统变量后再执行 Update/Delete 操作时可能报 4377 的问题。新增 5500 错误码用于区分该类问题。](https://github.com/oceanbase/oceanbase/commit/0a266c829d80b0f788df2890d4a0087d9be28bfa)
* [修复在 V4.1.0 版本升级 V4.2.0 版本的过程中,可能会出现断开连接的问题。对于 V4.1.0 BP4 之前的版本,可以通过先升级 OceanBase 数据库,再升级 ODP 的方式来规避该问题。](https://github.com/oceanbase/oceanbase/commit/dd9169aa1329fc391cddb4e91e4541af0d549b72)
* [修复迁移后的磁盘空间计算错误导致 Unit 来回迁移的问题。](https://github.com/oceanbase/oceanbase/commit/6f643df686f730bd9a2d5387de806a890e2c1d22)
* [修复分区表场景下,OBKV 使用本地索引查询失败的问题。](https://github.com/oceanbase/oceanbase/commit/803bb5671a61d23d95ff8304b0a426ec0c88a9ec)
* [修复了 OBServer 节点重启时,Schema 刷新持续报 4013 错误,无法刷新成功的问题。导致该问题生成的原因是集群中某个租户的 `__all_virtual_table_history` 表中记录的数量超过了 400 万条。](https://github.com/oceanbase/oceanbase/commit/834cf35f57f1d7805f66829e9ee84b53a58be256)
* [修复两个分区表分区方式不完全相同,但分区裁剪后分区方式相同在进行 Partition Wise Join 操作时,可能出现的不同并行度下返回结果不相同的问题。](https://github.com/oceanbase/oceanbase/commit/acd6b1ec31719e1b051c6ac96fed4428e70d6552)
* [修复使用 .NET 驱动 MySqlConnector 连接 OceanBase 数据库时,在执行存储过程中遇到的驱动程序报错问题。](https://github.com/oceanbase/oceanbase/commit/5258220354f6fb1f4092e29fd887510f650f17b0)


v4.2.0_CE_BP1
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | September 14, 2023 |
| Version | V4.2.0_CE_BP1 |
| Commit number | [600ea45](https://github.com/oceanbase/oceanbase/commit/600ea4557d9847784acfa3e6b7a7d24c595891c6) |
| OBServer RPM version | oceanbase-ce-4.2.0.0-101000032023091319 |

Overview

This version addressed several customer and internal testing issues to enhance product stability.

Bug fixes

* [Fixed the issue where the query results were incorrect if `INDEX SKIP SCAN` was used in the query plan and parallel query was enabled.](https://github.com/oceanbase/oceanbase/commit/f8a756dab5fe055f9fe230611ae3373878b57e78)

* [Fixed the issue where data inconsistency would occur between the main table and the index table when the `REPLACE INTO` statement was used.](https://github.com/oceanbase/oceanbase/commit/62d0f3c1c32d06f1c5715dd1fcb4f34ff27d8ca3)

* [Fixed the issue where the OBServer node would encounter exceptions upon a restart when `_optimizer_better_inlist_costing` was explicitly set to `true`.](https://github.com/oceanbase/oceanbase/commit/aa16d37a95f2bb531ed65b4932ca76d9278cf1aa)

* [Fixed the issue where the `max_ls_id` field in the `__all_tenant_info` table was not correctly updated during the upgrade from OceanBase Database V4.1.0_CE to OceanBase Database V4.2.0_CE. This issue could result in continuous transaction retries after the upgrade until a timeout error occurred.](https://github.com/oceanbase/oceanbase/commit/49dd427bd9bedf58d754b751aaf63d2a321bc00f)

Considerations

1. In versions between V4.1.0_CE_BP3 and V4.2.0_CE, if the default value of the hidden parameter `_optimizer_better_inlist_costing` was changed from `False` to `True`, it needs to be changed back to `False`. Otherwise, the OBserver node might encounter exceptions after a restart.

2. If you want to upgrade the Community Edition from V4.1.0 to V4.2.0, it is recommended that you directly upgrade to V4.2.0_CE_BP1 or higher to avoid potential transaction timeout issues that may be triggered during the upgrade process.

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-09-14 |
| 版本号 | V4.2.0_CE_BP1 |
| Commit 号 | [600ea45](https://github.com/oceanbase/oceanbase/commit/600ea4557d9847784acfa3e6b7a7d24c595891c6) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.0.0-101000032023091319 |

发版目的

解决用户及内部测试遇到的问题,提升版本稳定性。

BUG 修复

* [修复在查询计划中包含 INDEX SKIP SCAN,并且在开启并行查询的场景下可能导致查询结果不正确的问题。](https://github.com/oceanbase/oceanbase/commit/f8a756dab5fe055f9fe230611ae3373878b57e78)
* [修复在使用 REPLACE INTO 的场景下,可能出现的主表和索引表数据不一致问题。](https://github.com/oceanbase/oceanbase/commit/62d0f3c1c32d06f1c5715dd1fcb4f34ff27d8ca3)
* [修复显式设置 `_optimizer_better_inlist_costing=true` 场景下,可能导致 OBServer 重启后运行异常问题。](https://github.com/oceanbase/oceanbase/commit/aa16d37a95f2bb531ed65b4932ca76d9278cf1aa)
* [修复从 V4.1.0_CE 版本升级到 V4.2.0_CE 版本的场景中,`__all_tenant_info` 表中 `max_ls_id` 字段未正确更新,可能导致升级后事务持续重试直到报超时的问题。](https://github.com/oceanbase/oceanbase/commit/49dd427bd9bedf58d754b751aaf63d2a321bc00f)

注意事项

1. V4.1.0_CE_BP3 版本到 V4.2.0_CE 之间的版本,如果将隐藏配置项 _optimizer_better_inlist_costing 的默认值 False 改为 True,那么需要将其改回 False。否则,可能会导致重启后运行异常的问题。
2. 如果您想从 V4.1.0 版本升级到 V4.2.0 版本,建议您直接升级到 V4.2.0_CE_BP1 或更高版本,以避免因升级可能触发的事务超时问题。


v3.1.5_CE_HF2
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | September 12, 2023 |
| Version | V3.1.5_CE_HF2 |
| Commit number | [8a9dc4b](https://github.com/oceanbase/oceanbase/commit/8a9dc4b356d043b494015503d6d91f876486fbed) |
| OBServer RPM version | oceanbase-ce-3.1.5-100020022023091114 |

Overview

This version fixed some bugs and improved stability.

Bug fixes

* [Added the `role_change_timeout` parameter to fix the issue where the partition role was changed due to frequent timeouts in large transaction scenarios.](https://github.com/oceanbase/oceanbase/commit/7a4fcc321816aef939b92db593c72a95e9a6f454)
* [Fixed the issue where, in special scenarios, the Time to Live (TTL) timer failed to start after the cluster was restarted from a crash, resulting in a leaderless partition and the inability to recover the cluster.](https://github.com/oceanbase/oceanbase/commit/75947901bae6d8fc4e60f531b933d4743b9d5b5b)
* [Fixed the following issue: The RootService leader switchover was triggered in high traffic scenarios. However, the partition with the TTL timer failed to be elected as the new leader, causing the new leader of the RootService could not start.](https://github.com/oceanbase/oceanbase/commit/8a9dc4b356d043b494015503d6d91f876486fbed)

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-09-12 |
| 版本号 | V3.1.5_CE_HF2|
| Commit 号 | [8a9dc4b](https://github.com/oceanbase/oceanbase/commit/8a9dc4b356d043b494015503d6d91f876486fbed) |
| OBServer RPM 版本号 | oceanbase-ce-3.1.5-100020022023091114 |

发版目的

本次发版主要是 BUG 修复,提升版本稳定性。

BUG 修复

* [添加 role_change_timeout 配置项,修复大事务场景分区出现频繁超时卸任的问题](https://github.com/oceanbase/oceanbase/commit/7a4fcc321816aef939b92db593c72a95e9a6f454)。
* [修复特殊场景下宕机重启,TTL 定时器启动失败导致分区无主集群无法恢复的问题](https://github.com/oceanbase/oceanbase/commit/75947901bae6d8fc4e60f531b933d4743b9d5b5b)。
* [修复大压力下 RootService 切主,TTL 分区上任失败导致 RootService Leader 启动一直失败的问题](https://github.com/oceanbase/oceanbase/commit/8a9dc4b356d043b494015503d6d91f876486fbed)。


v4.2.0_CE
Version information

| **Information** | **Description** |
| --------------------- | ---------------------------------------------------------------------------------------------- |
| Release date | September 4, 2023 |
| Version | V4.2.0_CE |
| Commit number | [7e912e0](https://github.com/oceanbase/oceanbase/commit/7e912e012b5f2036b79eaeecaaf59884efc184fd) |
| OBServer RPM version | oceanbase-ce-4.2.0.0-100010032023083021 |

Overview

* This version addressed several customer and internal testing issues to enhance product stability.
* This version now supports data reads between OceanBase MySQL tenants by using a DBLink.
* Disable the temporary table feature in MySQL mode.

Bug fixes and improvements

* [Fixed the issue where the garbage collection (GC) thread would skip partition checks and cause excessive storage consumption when there were no multi-version SSTables available.](https://github.com/oceanbase/oceanbase/commit/e7686d8cbca8078c3867e3a4ffe7a9952bfe8b41)
* [Fixed the issue where major compaction would get stuck due to Error 4012 when the system attempted to read tablets from the disk.](https://github.com/oceanbase/oceanbase/commit/dcd54c9a7b5fd6d6f76c525e3df2de4fbacbd17c)
* [Fixed the bypass import timeout issue caused by excessive load on the Clog disk.](https://github.com/oceanbase/oceanbase/commit/12edc62dbcd06f77bc67a56ef8f88fdc9cee0127)
* [Fixed the issue where high-priority RPC requests were unable to enter the queue and could trigger Error 4019 when normal-priority RPC requests reached the limit.](https://github.com/oceanbase/oceanbase/commit/14e357b6c5ae33bdca606d5c3bad616df6890ab2)
* [Fixed the issue where creating unique indexes in parallel on a table that contains duplicate rows of data could cause core dump.](https://github.com/oceanbase/oceanbase/commit/ad5fdf9fea34a2b86f3d6120fc93320d00a1d9e7)
* [Fixed the issue where reading from the leader node forcefully would cause its CPU resources to be occupied by traffic from the follower nodes during the retry of weak consistency reads.](https://github.com/oceanbase/oceanbase/commit/985ef218d4fb82bf70417a92ee867cfc0734bd38)
* [Fixed the issue where the cluster would encounter Error 4184 due to temporary file I/O exceptions in high disk load scenarios.](https://github.com/oceanbase/oceanbase/commit/8984490f929205e4b3bbbe084087fe29d836385d)
* [Fixed the issue where the SqlExecutor module encountered memory bloat due to improper memory allocation during MERGE JOIN operations.](https://github.com/oceanbase/oceanbase/commit/fbc47118f78ebc94d8e6cc17ec3a42c4cc3b2b95)
* [Fixed the issue where the cluster could encounter exceptions in some clock drift scenarios.](https://github.com/oceanbase/oceanbase/commit/f52cecaaa21627f89cbaf8468da9d40a627b1076)
* [Optimized the online statistics collection strategy by only collecting global statistics for partitioned tables and not collecting partition-level statistics, so as to help alleviate the problems of excessive RPC requests and high memory usage.](https://github.com/oceanbase/oceanbase/commit/ec768b25652a2c00d8d4d39060f735443323bc50)
* [Improved the efficiency of reloading configurations during the restart process in scenarios with a large number of partitions.](https://github.com/oceanbase/oceanbase/commit/407f8f5d125f9e5f4c9037a7c81ab4c3ae5bf30c)

版本信息

| **项目** | **描述** |
| -------------- | ---------------------------------------------------------------------------------------------- |
| 发布日期 | 2023-09-04 |
| 版本号 | V4.2.0_CE |
| Commit 号 | [7e912e0](https://github.com/oceanbase/oceanbase/commit/7e912e012b5f2036b79eaeecaaf59884efc184fd) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.0.0-100010032023083021 |

发版目的

* 解决客户及内部测试遇到的问题,提升版本稳定性。
* 社区版支持 MySQL 租户间的 DBLINK 读功能。
* MySQL 模式下禁用临时表功能。

缺陷修复

* [修复在没有多版本 SSTable 的情况下,GC(Garbage Collection) 线程跳过相关分区检查,导致用户存储空间放大的问题。](https://github.com/oceanbase/oceanbase/commit/e7686d8cbca8078c3867e3a4ffe7a9952bfe8b41)
* [修复从磁盘读 Tablet 返回 4012 超时,可能导致的合并卡住问题。](https://github.com/oceanbase/oceanbase/commit/dcd54c9a7b5fd6d6f76c525e3df2de4fbacbd17c)
* [修复 Clog 盘负载过高可能导致的旁路导入执行超时问题。](https://github.com/oceanbase/oceanbase/commit/12edc62dbcd06f77bc67a56ef8f88fdc9cee0127)
* [当普通优先级的 RPC 队列积压到队列上限后,导致高优先级的 RPC 无法进入队列并可能触发查询报错 4019 的问题。](https://github.com/oceanbase/oceanbase/commit/14e357b6c5ae33bdca606d5c3bad616df6890ab2)
* [修复表中包含重复行数据,并行创建唯一索引时可能触发的 Core 问题。](https://github.com/oceanbase/oceanbase/commit/ad5fdf9fea34a2b86f3d6120fc93320d00a1d9e7)
* [修复弱读重试时,强制读 Leader 导致备机流量占用 Leader CPU 的问题。](https://github.com/oceanbase/oceanbase/commit/985ef218d4fb82bf70417a92ee867cfc0734bd38)
* [修复在磁盘负载过高的场景下,临时文件 I/O 异常可能导致的集群报错 4184 磁盘满的问题。](https://github.com/oceanbase/oceanbase/commit/8984490f929205e4b3bbbe084087fe29d836385d)
* [修复 Merge Join 的内存分配不当,导致 SqlExecutor 模块内存膨胀问题。](https://github.com/oceanbase/oceanbase/commit/fbc47118f78ebc94d8e6cc17ec3a42c4cc3b2b95)
* [修复部分时钟跳变场景下,可能导致集群使用异常的问题。](https://github.com/oceanbase/oceanbase/commit/f52cecaaa21627f89cbaf8468da9d40a627b1076)
* [优化在线统计信息收集策略,分区表只收集全局统计信息,不收集分区级统计信息,从而缓解 RPC 过大、内存占用高的问题。](https://github.com/oceanbase/oceanbase/commit/ec768b25652a2c00d8d4d39060f735443323bc50)
* [优化分区数量较大的场景下,重启过程中重新加载配置的耗时时间。](https://github.com/oceanbase/oceanbase/commit/407f8f5d125f9e5f4c9037a7c81ab4c3ae5bf30c)

v4.1.0_CE_BP3_HF1
Version information

| **Information** | **Description** |
| --------------------- | --------------------- |
| Release date | August 28, 2023 |
| Version | V4.1.0_CE_BP3_HF1 |
| OBServer RPM version | oceanbase-ce-4.1.0.2-103010012023082519 |

About this version

This version addressed several issues encountered by customers and discovered during internal testing to improve the product's stability.

Fixed issues

* [Fixed an issue where modifying tenant specifications caused a limitation of 100 connections for non-root users](https://github.com/oceanbase/oceanbase/commit/83501bdeb238cf121c62ae092251d2b040f15ffd).
* [Fixed an issue where concurrent access to the `plan_cache_plan_stat` table during the deletion of an execution plan could trigger a core dump](https://github.com/oceanbase/oceanbase/commit/75dd7c44eaa97e151c3eda43931477abf1c65036).
* [Added new parameters to control the optional plan paths for the JOIN operator](https://github.com/oceanbase/oceanbase/commit/7b08e80863f200958f61210606433c8f244f4b51).

Considerations

OceanBase Database Community Edition can be directly upgraded from V4.1.0_CE_BP3_HF1 to V4.2.0_CE_GA but not to V4.2.0_CE_BETA.

版本信息

| **项目** | **描述** |
| -------------- | ----------------- |
| 发布日期 | 2023-08-28 |
| 版本号 | V4.1.0_CE_BP3_HF1 |
| OBServer RPM 版本号 | oceanbase-ce-4.1.0.2-103010012023082519 |

发版目的

解决客户及内部测试遇到的问题,提升版本稳定性。

缺陷修复

* [修复变更租户规格,导致非 `root` 用户连接数受限为 100 个的问题](https://github.com/oceanbase/oceanbase/commit/83501bdeb238cf121c62ae092251d2b040f15ffd)。
* [修复删除执行计划的过程中, 并发访问 `plan_cache_plan_stat` 表可能触发 Coredump 的问题](https://github.com/oceanbase/oceanbase/commit/75dd7c44eaa97e151c3eda43931477abf1c65036)。
* [新增配置项,用于控制 JOIN 算子可选的计划路径](https://github.com/oceanbase/oceanbase/commit/7b08e80863f200958f61210606433c8f244f4b51)。

注意事项

V4.1.0_CE_BP3_HF1 版本不支持直接升级到 V4.2.0_CE_BETA 版本,但支持升级到 V4.2.0_CE_GA 版本。

v4.2.0_CE_BETA_HF1
Version information

| **Information** | **Description** |
| --------------------- | --------------------- |
| Release date | August 21, 2023 |
| Version | V4.2.0_CE_BETA_HF1 |
| OBServer RPM version | oceanbase-ce-4.2.0.0-100010022023081817 |

About this version

This version fixes some bugs and improves stability.

Fixed issues

* [Fixed an issue where core dump would occur during the startup of OceanBase Database if it was deployed in a CPU environment that does not support Advanced Vector Extensions (AVX) instruction set.](https://github.com/oceanbase/oceanbase/commit/a29d442812af5ca2156f4b8e79f7ae7e37ee6192)
* [Fixed an issue where exceptions occurring during the sending of RPC packets could result in all nodes in the cluster becoming inactive.](https://github.com/oceanbase/oceanbase/commit/0afdb296be7411fc09733d049a611898af84d1dd)

版本信息

| **项目** | **描述** |
| -------------- | ------------------ |
| 发布日期 | 2023-08-21 |
| 版本号 | V4.2.0_CE_BETA_HF1 |
| OBServer RPM 版本号 | oceanbase-ce-4.2.0.0-100010022023081817 |

发版目的

本次发版主要是 BUG 修复,提升版本稳定性。

缺陷修复

* [修复在不支持 AVX 指令集的 CPU 环境中部署 OceanBase 数据库,启动时触发 Coredump 的问题。](https://github.com/oceanbase/oceanbase/commit/a29d442812af5ca2156f4b8e79f7ae7e37ee6192)
* [修复 RPC 发包异常,可能导致的集群节点状态均为 INACTIVE 的问题。](https://github.com/oceanbase/oceanbase/commit/0afdb296be7411fc09733d049a611898af84d1dd)

v4.1.0_CE_BP3
Version information

| **Information** | **Description** |
| ------ | ------ |
| Release date | August 14, 2023 |
| Version | V4.1.0_CE_BP3 |
| Commit number | [694f84c](https://github.com/oceanbase/oceanbase/commit/694f84c4faf0067e2512e18ea2c9a3687fa013c7) |

About this version

1. OBKV supports aggregate functions such as MIN, MAX, and COUNT, auto-increment columns, and row data verification during data insertion.
2. The `_ha_get_tablet_info_batch_count` and `_ha_rpc_timeout` hidden parameters are added to control the number of tablets obtained by an RPC call at a time and the RPC timeout during operations such as migration, replication, rebuild, and physical restore. If the I/O operations on the SATA disk are slow, you can use the two parameters.
3. The `DBMS_RESOURCE_MANAGER` system package is provided in the community edition.
4. Issues encountered by customers and during internal tests are resolved to improve the stability of the product.

Fixed issues

* [Fixed an issue that after the `LIMIT pushdown` statement is rewritten, the execution result of a LIMIT clause containing the RAND function is incorrect.](https://github.com/oceanbase/oceanbase/commit/a6dfba10a989e1dd4be972f3462c7dbf4d69ddcf)
* [Fixed an issue that if an expression contains functions such as USERENV and SYSDATE, the query result is inaccurate due to an incorrect query range.](https://github.com/oceanbase/oceanbase/commit/4d0d02c289c265f2c67a54fe4f0864dd5ac30628)
* [Fixed an issue that in the Prepared Statement (PS) protocol, a `zero datetime` value of the DATETIME type is not fully compatible with MySQL when an OBServer node sends a packet to the client. As a result, the query result on the client of the Go driver is abnormal.](https://github.com/oceanbase/oceanbase/commit/e468ffca577ed0f09af46aec42748e60be32e399)
* [Fixed an issue that when the GROUP BY clause is used in a join of two tables, the returned result set does not meet the expectations.](https://github.com/oceanbase/oceanbase/commit/18ee867100771e78a7c5167cee40f7099aa80d93)
* [Fixed an issue that in a scenario where the cgroup feature is enabled and `sql_nio` is disabled, a core dump may occur due to the use of the PS protocol.](https://github.com/oceanbase/oceanbase/commit/4c41469432c6cace9aa625ce714a1ad24e0ab65b)
* [Fixed an issue that if the CPU resources remain exhausted for a period of time, an OBKV request may time out and thereby cause a core dump.](https://github.com/oceanbase/oceanbase/commit/36b87b2a573dae36395af94f0f9edf4d9cc9b1a3)
* [Fixed an issue that after the character set of a tenant is changed by using the ALTER DATABASE statement, the character set displayed in the `information_schema.SCHEMATA` view is incorrect.](https://github.com/oceanbase/oceanbase/commit/0b98ed130900c4faafc816f55f353d2339fc6080)
* [Fixed an issue that when a large number of DDL operations are performed on a single table, the minor compaction threads may be stuck due to too many involved partitions or intensive writes, which results in an out of memory (OOM) error.](https://github.com/oceanbase/oceanbase/commit/fb4d14feb7fbb184b719193b510ab1ccaf2f486a)
* [Fixed an issue that after the DOUBLE type is converted into the INT type in a query statement, the query result is inaccurate due to an incorrect query range.](https://github.com/oceanbase/oceanbase/commit/e2a70badf9916eddd7d26e7c7140820d4c24d3b9)
* [Fixed an issue that when an INSERT operation is performed in a scenario with a large data volume, a minor or major compaction will trigger a retry of the INSERT operation, which may result in discontinuous auto-increment IDs.](https://github.com/oceanbase/oceanbase/commit/bd127f7af216c49f7b40d75d1c3e0b1cf9f82655)
* [Fixed an issue that during bypass import, the memory is used up because data of the ObArray type occupies memory of the sys500 tenant.](https://github.com/oceanbase/oceanbase/commit/70ddda157c4b2bbade7d603959fe8a612eec26ae)
* [Fixed an issue that when too many sessions exist in the `sys` tenant, the client may return the error `session already exists`.](https://github.com/oceanbase/oceanbase/commit/c9416aae8c7c06b7fa86b948fecc2018a94586cf)
* [Fixed an issue that SqlExecutor memory bloats when a tenant with minimum specifications obtains the schemas.](://github.com/oceanbase/oceanbase/commit/9619bf85ce386b48c9f621126e4a49bec7e4a8ed)
* [Optimized the performance in CPU over-allocation scenarios after the cgroup feature is enabled.](https://github.com/oceanbase/oceanbase/commit/03109f62e61f64f99188c6566db2f60c54c4ee1c)

Considerations

OceanBase Database Community Edition can be directly upgraded from V4.1.0_CE_BP3 to V4.2.0 GA but not to V4.2.0_CE_Beta.

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-08-14 |
| 版本号 | V4.1.0_CE_BP3|
| Commit 号 | [694f84c](https://github.com/oceanbase/oceanbase/commit/694f84c4faf0067e2512e18ea2c9a3687fa013c7) |

发版目的

1. OBKV 支持 min、max、count 等汇聚函数,同时支持自增列和插入数据时的行数据校验。
2. 新增了两个隐藏配置项 `_ha_get_tablet_info_batch_count` 和 `_ha_rpc_timeout`,用于控制迁移复制、Rebuild 和物理恢复等操作中一次 RPC 批量获取 Tablet 的数量和 RPC 超时时间。这些配置项适用于 SATA 盘 IO 较慢的场景。
3. 开放 `DBMS_RESOURCE_MANAGER` 系统包到开源版本。
4. 解决客户及内部测试遇到的问题,提升版本稳定性。

缺陷修复

* [修复 `limit push down` 改写导致的带有 Rand 函数的 Limit 语句结果错误问题。](https://github.com/oceanbase/oceanbase/commit/a6dfba10a989e1dd4be972f3462c7dbf4d69ddcf)
* [修复表达式中包含 USERENV、SYSDATE 等函数时,Query Range 错误导致查询结果不准确的问题。](https://github.com/oceanbase/oceanbase/commit/4d0d02c289c265f2c67a54fe4f0864dd5ac30628)
* [修复在 PS 协议下,DATETIME 类型的 `zero datetime` 值在 OBServer 节点给客户端发包时没有完全与 MySQL 兼容,导致 Go 驱动客户端查询结果异常的问题。](https://github.com/oceanbase/oceanbase/commit/e468ffca577ed0f09af46aec42748e60be32e399)
* [修复两表 JOIN 使用 GROUP BY 语句时,返回结果集不符合预期的问题。](https://github.com/oceanbase/oceanbase/commit/18ee867100771e78a7c5167cee40f7099aa80d93)
* [修复在开启 cgroup、关闭 `sql_nio` 场景下,使用 PS 可能触发的 Core 问题。](https://github.com/oceanbase/oceanbase/commit/4c41469432c6cace9aa625ce714a1ad24e0ab65b)
* [修复了 CPU 持续打爆的情况下,进行 OBKV 请求操作可能会导致超时并触发的 Core 问题。](https://github.com/oceanbase/oceanbase/commit/36b87b2a573dae36395af94f0f9edf4d9cc9b1a3)
* [修复 ALTER DATABASE 修改租户字符集后,`information_schema.SCHEMATA` 中字符集展示不正确问题。](https://github.com/oceanbase/oceanbase/commit/0b98ed130900c4faafc816f55f353d2339fc6080)
* [修复在进行单表大量 DDL 操作时,同时分区数目较多或写入较多可能会触发转储线程卡住导致内存爆满的问题。](https://github.com/oceanbase/oceanbase/commit/fb4d14feb7fbb184b719193b510ab1ccaf2f486a)
* [修复在查询语句中将 DOUBLE 类型转换为 INT 类型后,由于 Query Range 错误导致查询结果不正确的问题。](https://github.com/oceanbase/oceanbase/commit/e2a70badf9916eddd7d26e7c7140820d4c24d3b9)
* [修复在大数量场景下进行 INSERT 操作时,触发某些转储/合并动作导致 INSERT 重试,可能导致自增 ID 跳变的问题。](https://github.com/oceanbase/oceanbase/commit/bd127f7af216c49f7b40d75d1c3e0b1cf9f82655)
* [修复在旁路导入时,由于 ObArray 类型使用了 500 租户的内存,导致内存爆满的问题。](https://github.com/oceanbase/oceanbase/commit/70ddda157c4b2bbade7d603959fe8a612eec26ae)
* [修复 `sys` 租户积压场景下可能导致的客户端报错 `session already exists` 问题。](https://github.com/oceanbase/oceanbase/commit/c9416aae8c7c06b7fa86b948fecc2018a94586cf)
* [优化小规格租户在获取 Schema 过程中,SqlExecutor 内存膨胀问题。](https://github.com/oceanbase/oceanbase/commit/9619bf85ce386b48c9f621126e4a49bec7e4a8ed)
* [优化开启 Cgroup 后,在 CPU 超卖场景下的性能表现。](https://github.com/oceanbase/oceanbase/commit/03109f62e61f64f99188c6566db2f60c54c4ee1c)

注意事项

V4.1.0_CE_BP3 版本不支持升级到 V4.2.0_CE_Beta 版本,但支持升级到 V4.2.0 GA 版本。


v4.2.0_CE_BETA

V4.2.0_CE_Beta

版本信息

| **项目** | **描述** |
| ------ | ------ |
| 发布日期 | 2023-08-02 |
| 版本号 | V4.2.0_CE_Beta|
| Commit 号 | [8024d8f](https://github.com/oceanbase/oceanbase/commit/8024d8ff45c45cf7c62a548752b985648a5795c3) |
| OBServer RPM 版本号 | oceanbase-ce-4.2.0.0-100000152023080109 |

版本定位

OceanBase 数据库 V4.2.0_CE 版本是在 V4.1.0_CE 版本基础上进一步健全完善核心特性,补齐了 V3.x 系列的全部主要功能,提升产品可扩展性,优化资源使用,提高性能,增强兼容性与易用性。目前发布的为 V4.2.0_CE Beta 版本,而后续的 V4.2.x 版本也会作为 **长期支持版本(LTS)** 对外提供服务。

Page 17 of 30

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.