内容简介:TiDB 4.0.9 现已发布,该版本具体更新内容如下: 兼容性更改 TiDB 废弃配置文件中 enable-streaming 配置项 #21055 TiKV 减少开启加密时的 I/O 开销和锁冲突。该修改向下不兼容。如果需要降级至 v4.0.9 以下,需要...
TiDB 4.0.9 现已发布,该版本具体更新内容如下:
兼容性更改
-
TiDB
- 废弃配置文件中
enable-streaming
配置项 #21055
- 废弃配置文件中
-
TiKV
- 减少开启加密时的 I/O 开销和锁冲突。该修改向下不兼容。如果需要降级至 v4.0.9 以下,需要将
security.encryption.enable-file-dictionary-log
配置为false
,并在降级前重启 #9195
- 减少开启加密时的 I/O 开销和锁冲突。该修改向下不兼容。如果需要降级至 v4.0.9 以下,需要将
新功能
-
TiFlash
- 支持将存储引擎的新数据分布在多个硬盘上,分摊 I/O 压力(实验特性)
-
TiDB Dashboard
优化提升
-
TiDB
- 在转换等值条件为其它条件时,通过使用启发式规则,避免生成 (index) merge join 以得到更好的执行计划 #21146
- 区分用户变量的类型 #21107
- 在配置文件中添加了
performance.gogc
配置项,用于设置GOGC
#20922 - 提升
Timestamp
和Datetime
类型的二进制输出结果与 MySQL 的兼容性 #21135 - 优化用户使用
LOCK IN SHARE MODE
SQL 语句时输出的报错信息 #21005 - 优化在可剪切的表达式进行常量折叠时输出的错误信息,避免输出不必要的警告或错误信息 #21040
- 优化
LOAD DATA
语句执行PREPARE
时的报错信息 #21199 - 修改整型列的类型时,忽略掉整型字段的零值填充的属性 #20986
- 在
EXPLAIN ANALYZE
结果中输出 DML 语句执行器相关运行时的信息 #21066 - 禁止在一条语句中对主键做出多次不同的修改 #21113
- 添加连接空闲时间的监控项 #21301
- 新增运行
runtime/trace
分析 工具 时系统自动临时开启慢日志的功能 #20578
-
TiKV
- 添加标记以跟踪
split
命令的来源 #8936 - 支持动态修改
pessimistic-txn.pipelined
配置项 #9100 - 减少运行 Backup & Restore 和 TiDB Lightning 时对系统的性能影响 #9098
- 添加 Ingesting SST 报错的监控项 #9096
- 阻止 Leader 在任意副本需要复制日志时进入休眠状态 #9093
- 提高 Pipelined locking 的成功率 #9086
- 调整配置项
apply-max-batch-size
和store-max-batch-size
的默认值为1024
#9020 - 添加
max-background-flushes
配置 #8947 - 默认关闭 RocksDB consistency check 以提高性能 #9029
- 将 Region 大小的查询操作移出
pd heartbeat worker
以减轻其压力 #9185
- 添加标记以跟踪
-
PD
-
TiDB Dashboard
-
TiFlash
- 降低 Replica read 时的延迟
- 优化 TiFlash 的错误信息
- 优化在大数据量下,对缓存数据大小的限制
- 添加正在处理的 Coprocessor 请求数量的 metric
-
Tools
-
Backup & Restore (BR)
-
TiCDC
-
Dumpling
-
TiDB Lightning
-
TiDB Binlog
- 在写下游出错时给 Drainer 设置非零退出码 #1012
-
Bug 修复
-
TiDB
- 修复了前缀索引和
OR
条件一起使用时结果不正确的问题 #21287 - 修复了开启自动重试后可能出现的一处 panic #21285
- 修复了根据列类型检查分区表定义时出现的一处问题 #21273
- 修复了分区表对于列的类型检查的一处问题。分区表达式的值的类型和分区列的类型必须一致 #21136
- 修复了哈希分区表对于分区名唯一性检查的问题 #21257
- 修复非
INT
类型的值,插入到哈希分区表后结果不正确的问题 #21238 - 修复了在部分写入类的场景中,使用了 index join 会遇到非预期报错的问题 #21249
- 修复了在
CASE WHEN
中BigInt
无符列的值被错误地转换成有符类型的问题 #21236 - 修复了 index hash join 和 index merge join 没有考虑 collation 的问题 #21219
- 修复了分区表在建表和查询时,没有考虑 collation 的问题 #21181
- 修复了慢日志记录的查询结果可能不全的问题 #21211
- 修复了一处数据库名大小写处理不当,导致的
DELETE
未正确删除数据的问题 #21206 - 修复了执行 DML 语句导致 schema 的内存被覆盖的问题 #21050
- 修复了使用 join 时,无法查询到合并后的列的问题 #21021
- 修复了一些 semi-join 的查询结果不正确的问题 #21019
- 修复了表锁对于
UPDATE
语句不生效的问题 #21002 - 修复创建递归的视图出现栈溢出的问题 #21001
- 修复了 index merge join 在执行外连接的时候,结果不符合预期的问题 #20954
- 修复了一处事务问题,该场景下应该返回结果未知,但是却返回了执行失败 #20925
- 修复
explain for connection
无法显示最后一次执行计划的问题 #21315 - 修复在 Read Committed 隔离级别下,Index Merge 结果不正确的问题 #21253
- 修复了由于事务写冲突重试导致的 auto-ID 分配失败 #21079
- 修复了 JSON 数据无法通过
load data
无法正确导入到 TiDB 的问题 #21074 - 修复新增加
Enum
类型列的默认值问题 #20998 - 对于日期类型的数学计算,保留原始的数据类型信息,修复
adddate
函数插入非法值的问题 #21176 - 修复了部分场景错误地生成了
PointGet
的执行计划,导致执行结果不正确 #21244 - 在
ADD_DATE
函数中忽略夏令时的转换,以和 MySQL 兼容 #20888 - 修复了插入尾部带有超出
varchar
和char
长度限制的空白字符的字符串时报错的 bug #21282 - 修复了对比
int
和year
类型时没有将[1, 69]
的整数转换为[2001, 2060]
以及没有将[70, 99]
的整数转换为[1970, 1999]
的兼容性 bug #21283 - 修复了
sum()
函数计算Double
类型字段的结果溢出导致 panic 的问题 #21272 - 修复了
DELETE
语句未能给 unique key 加悲观锁的问题 #20705 - 修复了快照读能够命中 lock cache,返回错误结果的问题 #21539
- 修复了在同一个事务中读取大量数据时可能发生的内存泄漏问题 #21129
- 修复了在子查询中省略表别名时的语法解析错误问题 #20367
- 修复了前缀索引和
-
TiKV
- 修复当列个数大于 255 时,下推返回错误结果集的问题 #9131
- 修复网络隔离时 Region Merge 可能会导致数据丢失的问题 #9108
- 修复使用
latin1
字符集时,ANALYZE
语句会导致 panic 的问题 #9082 - 修复类型转换中将数字转成时间会得到错误结果的问题 #9031
- 修复当开启加密时无法使用 TiDB Lightning 导入数据的问题 #8995
- 修复使用
0.0.0.0
时advertise-status-addr
异常的问题 #9036 - 修复当事务删除 key 时却报 key 已存在的问题 #8930
- 修复 RocksDB cache 映射错误导致的数据错误问题 #9029
- 修复当 Leader 切换时 Follower Read 可能返回旧数据的问题 #9240
- 修复悲观锁下可能读到旧值的问题 #9282
- 修复 transfer leader 后 replica read 可能会读到旧值的问题 #9240
- 修复 TiKV 在 profiling 结束后再收到
SIGPROF
会 panic 的问题 #9229
-
PD
-
TiDB Dashboard
-
TiFlash
- 修复
INFORMATION_SCHEMA.CLUSTER_HARDWARE
中可能包含未被使用的硬盘信息的问题 - 修复 Delta cache 内存占用量估算偏少的问题
- 修复由线程统计信息引起的内存泄露问题
- 修复
-
Tools
-
Backup & Restore (BR)
- 修复因 S3 secret access keys 中存在特殊字符而导致失败的问题 #617
-
TiCDC
- 修复某些异常情况下存在多个 Owner 的问题 #1104
- 修复在 TiKV 节点意外退出或重启恢复情况下 TiCDC 不能正常同步的问题,该 bug 在 v4.0.8 引入 #1198
- 修复在表初始化过程中会向 etcd 中重复写入元数据的问题 #1191
- 修复 schema storage 缓存 TiDB 表信息的过程中因更新表信息延迟或过早 GC 导致同步中断的问题 #1114
- 修复 schema storage 在 DDL 频繁的情况下会消耗过多内存的问题 #1127
- 修复在同步任务暂停或取消之后会产生 goroutine 泄露的问题 #1075
- 增加 Kafka producer 最大重试时间到 600s,避免在下游 Kafka 服务或网络抖动情况下同步中断 #1118
- 修复 Kafka 消息所包含行变更数量不能正常生效的问题 #1112
- 修复当 TiCDC 与 PD 间网络出现抖动,并且同时操作 TiCDC changefeed 暂停和恢复,可能会出现部分表数据没有被同步的问题 #1213
- 修复 TiCDC 与 PD 网络不稳定情况下 TiCDC 可能出现进程非预期退出的问题 #1218
- 在 TiCDC 内部使用全局 PD client,以及修复 PD client 被错误关闭导致同步阻塞的问题 #1217
- 修复 TiCDC owner 节点可能在 etcd watch client 里消耗过多内存的问题 #1224
-
Dumpling
- 修复在某些情况下 MySQL 链接关闭导致 Dumpling 卡住的问题 #190
-
TiDB Lightning
-
更新说明:https://docs.pingcap.com/zh/tidb/stable/release-4.0.9
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 跨越数据库发展鸿沟,谈分布式数据库技术趋势
- 银行需要分布式数据库吗?
- 分布式NoSQL数据库 Fusion
- 分布式数据库HBase的架构设计
- 分布式数据库 MVCC 技术探秘(一)
- 饿了么:分布式时序数据库 - LinDB
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Text Processing in Python
David Mertz / Addison-Wesley Professional / 2003-6-12 / USD 54.99
Text Processing in Python describes techniques for manipulation of text using the Python programming language. At the broadest level, text processing is simply taking textual information and doing som......一起来看看 《Text Processing in Python》 这本书的介绍吧!