TiDB 2.1.17 发布,分布式 NewSQL 数据库
TiDB 2.1.17 已经发布,更新内容如下: 新特性 TiDB 的SHOW TABLE REGIONS语法新增WHERE条件子句 TiKV、PD 新增config-check功能,用于配置项检查 pd-ctl 新增remove-tomestone命令,支持清理 tombstone store 记录 Reparo 新增worker-count和txn-batch配置项,用于控制恢复速率 改进提升 PD 优化调度流程,支持主动下发调度 TiKV 优化启动流程,减少重启节点带来的抖动 行为变更 TiDB 慢日志中的start ts由最后一次重试的时间改为第一次执行的时间 TiDB 慢日志中的Index_ids字段替换为Index_names字段,提升慢日志易用性 TiDB 配置文件中添加split-region-max-num参数,用于调整SPLIT TABLE语法允许的最大 Region 数量,默认配置下,允许的数量由 1,000 增加至 10,000 TiDB SQL 优化器 修复EvalSubquery在构建Executor出现错误时,错误信息没有被正确返回的问题#11811 修复 Index Lookup Join 中,外表的行数大于一个 batch 时,查询的结果可能不正确的问题;扩大 Index Lookup Join 的作用范围:可以使用UnionScan作为IndexJoin的子节点#11843 针对统计信息的反馈过程可能产生失效 Key 的情况,SHOW STAT_BUCKETS语句现在增加了失效 Key 的显示,例如:invalid encoded key flag 252#12098 SQL 执行引擎 修复CAST函数在进行数值类型转换时,首先将数值转换为UINT导致一些结果不正确的问题(例如,select cast(13835058000000000000 as double))#11712 修复DIV运算的被除数为DECIMAL类型且运算含有负数时,运算结果可能不正确的问题#11812 添加ConvertStrToIntStrict函数,修复执行SELECT/EXPLAIN语句时,一些字符串转换INT类型结果与 MySQL 不兼容的问题#11892 修复使用EXPLAIN ... FOR CONNECTION语法时,stmtCtx没有正确设置导致Explain结果可能不正确的问题#11978 修复unaryMinus函数,当 Int 结果溢出时,返回结果类型没有为 Decimal 导致与 MySQL 不兼容的问题#11990 修复LOAD DATA语句执行时,计数顺序导致的last_insert_id()可能不正确的问题#11994 修复用户显式、隐式混合写入自增列数据时,last_insert_id()可能不正确的问题#12001 修复一个JSON_UNQUOTE函数兼容性问题:只有在双引号(")内的值需要 Unquote,例如SELECT JSON_UNQUOTE("\\\\")应当为 “\\“(不进行 Unquote)#12096 Server TiDB 事务重试时,记录在慢日志中的start ts由最后一次重试的时间改为第一次执行的时间#11878 在LockResolver中添加事务的 Key 数量:当 Key 数量较少时,可以避免对整个 Region 的 Scan 操作,减小清锁的代价#11889 修复慢日志中,succ字段值可能不正确的问题#11886 将慢日志中的Index_ids字段替换为Index_names字段,提升慢日志易用性#12063 修复Duration内容中包含-时(例如select time(‘--’)),TiDB 解析为 EOF Error 导致连接断开的错误#11910 改进RegionCache:当一个 Region 失效时,它将会更快地从RegionCache中移除,减少向该 Region 发送请求的个数#11931 修复oom-action = "cancel"时,当Insert Into … Select语句发生 OOM,OOM Panic 没有被正确处理而导致连接断开的问题#12126 DDL 为tikvSnapshot添加逆序扫描接口用于高效地查询 DDL History Job,使用该接口后ADMIN SHOW DDL JOBS的执行时间有明显降低#11789 改进CREATE TABLE ... PRE_SPLIT_REGION的语义:当指定PRE_SPLIT_REGION = N时,将预切分的 Region 个数由 2^(N-1) 改为 2^N#11797 根据线上负载与 Add Index 相互影响测试,调小 Add Index 后台工作线程的默认参数以避免对线上负载造成较大影响#11875 改进SPLIT TABLE语法的行为:当使用SPLIT TABLE ... REGIONS N对 Region 切分时,会生成 N 个数据 Region 和 1 个索引 Region#11929 在配置文件中添加split-region-max-num参数,使得SPLIT TABLE语法允许的最大 Region 数量可调整,该参数默认值10000#12080 修复写 binlog 时,CREATE TABLE语句中PRE_SPLIT_REGIONS部分没有被注释,导致语句不能被下游 MySQL 解析的问题#12121 SHOW TABLE … REGIONS和SHOW TABLE .. INDEX … REGIONS语法新增WHERE条件子句#12124 Monitor 增加监控指标connection_transient_failure_count,用于统计tikvclient的 gRPC 连接错误数量#12092 TiKV 解决某些情况下 Region 内 key 个数统计不准的问题#5415 TiKV 新增config-check选项,用于检查 TiKV 配置项是否合法#5391 优化启动流程,减少重启节点带来的抖动#5277 优化某些情况下解锁的流程,加速事务解锁#5339 优化get_txn_commit_info的流程,加速事务提交#5062 简化 Raft 相关的 log#5425 解决在某些情况下 TiKV 异常退出的问题#5441 PD PD 新增config-check选项,用于检查 PD 配置项是否合法#1725 pd-ctl 新增remove-tomestone命令,支持清理 tombstone store 记录#1705 支持主动下发 Operator,加快调度速度#1686 Tools TiDB Binlog Reparo 新增worker-count和txn-batch配置项,用于控制恢复速率#746 Drainer 优化内存使用,提升同步执行效率#735 Pump 修复有时候无法正常下线的 bug#739 Pump 优化 LevelDB 处理逻辑,提升 GC 执行效率#720 TiDB Lightning 修复从 checkpoint 点重新导入可能会导致 tidb-lightning 崩溃的 bug#239 TiDB Ansible 更新 Spark 版本为 2.4.3,同时更新 TiSpark 为兼容该 Spark 的 2.2.0 版本#914,#919 修复了当远程机器密码过期时长时间连接等待的问题#937,#948 发布说明:https://pingcap.com/docs-cn/v3.0/releases/2.1.17/