分布式 NewSQL 数据库TiDB 3.1.0 版本发布,修复多项问题

代码狂魔 2020-04-18 17:07:30 ⋅ 107 阅读

前言

TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。


架构

TiDB 3.1.0 更新内容

一、兼容性变化

TiDB支持
1、TiDB 在启动服务时,在开启 report-status 配置项情况下,如果发现 HTTP 监听端口不可用,则直接退出启动 #16291

Tools
1、Backup & Restore (BR)
      BR 不支持在 3.1 GA 版本之前的 TiKV 集群上进行恢复 #233

二、新功能

TiDB

1、支持在 explain format = "dot" 中展示 coprocessor 任务的信息 #16125
2、通过 disable-error-stack 配置项减少日志的冗余 stack 信息 #16182

Placement Driver (PD)
1、优化热点 Region 调度 #2342

TiFlash
1、添加上报 DeltaTree 引擎读写负载相关 metrics 信息
2、支持 fromUnixTime 和 dateFormat
3、函数下推默认禁用粗粒度索引过滤器

TiDB Ansible
1、新增 TiFlash 监控 #1253 #1257
2、优化 TiFlash 配置参数 #1262 #1265 #1271
3、优化 TiDB 启动脚本 #1268

三、Bug修复

TiDB
1、修复 merge join 在某些场景下 panic 的问题 #15920
2、修复在计算选择率时重复考虑某些表达式的问题 #16052
3、修复极端情况下 load 统计信息可能出现的 panic 的问题 #15710
4、修复 SQL query 中存在等价表达式在某些情况下无法识别导致报错的问题 #16015
5、修复从一个数据库中查询另一个数据库的 view 时报错的问题 #15867
6、修复 fast analyze handle 列时 panic 的问题 #16080
7、修复 current_role 输出结果字符集不正确的问题 #16084
8、完善 MySQL 连接握手错误相关日志 #15799
9、修复加载审计插件后端口探测活动导致 panic 的问题 #16065
10、修复因 TypeNull 类被错误识别为变长类型,导致 left join 上的 sort 算子 panic 的问题 #15739
11、修复监控 session 重试错误计数不准确的问题 #16120
12、修复在 ALLOW_INVALID_DATES 模式下,weekday 结果出错的问题 #16171
13、修复在集群中存在 TiFlash 节点时,GC 可能不能正常工作的问题 #15761
14、修复创建 hash 分区表时指定非常大的分区数量导致 TiDB OOM 的问题 #16219
15、让 union 语句的行为和 select 语句保持相同,修复把 warnings 当 error 的问题 #16138
16、修复 TopN 下推到 mocktikv 中的执行错误 #16200
17、增大 chunk.column.nullBitMap 的初始化长度,以避免多余的 runtime.growslice 开销 #16142

TiKV
1、修复 replica read 导致 TiKV panic 的问题 #7418 #7369
2、修复 restore 产生许多空 Region 的问题 #7419
3、修复重复的 resolve lock 请求可能会破坏悲观事务原子性的问题 #7389

TiFlash
1、修复从 TiDB 同步 schema 时,进行 rename table 时潜在的问题
2、修复多数据路径配置下进行 rename table 会导致数据丢失的问题
3、修复某些场景下 TiFlash 存储空间上报错误的问题
4、修复开启 Region Merge 情况下从 TiFlash 读取时潜在的问题

Tools
1、TiDB Binlog
      修复因为 TiFlash 相关的 DDL job 导致 Drainer 同步中断的问题 #948 #942

2、BR
     修复关闭 checksum 情况下,仍然执行 checksum 的问题 #223
     修复 TiDB 开启 auto-random 或 alter-pk 时,增量备份失败的问题 #230 #231



全部评论: 0

    我有话说:

    「尝鲜」SpringBoot 快速整合Swagger 3.0

    第一步:Maven引入Swagger3.0 starter依赖 Maven项目中引入springfox-boot-starter依赖: <dependency> <

    Apache HBase 最新发布2.0.4 ,分布式数据库

    HBase 2.0.4 主要修复了 2.0.3 和 2.1.1 版本中 HBASE-21551 Bug。此外还包括 31 Bug 修复

    Spring Cloud 2020.0.1 BUG 修复版本发布

    2021 首发, Spring Cloud 2020.0.1 (代号"Ilford",伊尔福德)版本发布,此版本 BUG 修复版本,可从 2020.0.0 版本平滑升级。目前已可以从 maven

    Dgraph 1.2.8 发布,事务性分布式图形数据库

    Dgraph 1.2.8 发布了。Dgraph 是一个可扩展的,分布式的,低延迟的图数据库,目标是提供 Google 生产水平的规模和吞吐量,在超过 TB 的结构数据里,为用户提供足够低延迟的实时

    Kuma 1.0 GA 发布,70 新功能和改进

    Kuma 1.0 GA 现已发布,包含了 70 种新功能和改进。Kuma 是一个现代的通用服务网格控制平面,基于 Envoy 搭建,Envoy 是一个为云原生应用设计

    dubbogo v1.5.6 发布,性能提升并带来新特性

    dubbogo 社区近期发布了 dubbogo v1.5.6。该版本和 dubbo 2.7.8 对齐,提供了命令行工具,并提供了多种加载配置的方式。 相关改进实在太,本文只列出相关重大

    Martian框架发布 3.0.3 版本,Redis分布式

    项目简介 Martian 是一个声明式 API 编程(DAP)框架,可以帮助你快速开发后端服务。 以HttpServer作为 http服务,彻底脱离Tomcat这一类的Web容器和Servlet,同时也让项目减少了几个依赖 声明式API,让Co...

    Apache Arrow 3.0.0 发布,内存数据交换格式

    Apache Arrow 3.0.0 发布了,该版本包含 2.0.0 发布以来修复的 678 个问题。Apache Arrow 是 Apache 基金会的顶级项目之一,目的是作为一个跨平台的数据层来

    CrateDB 4.3.1 发布分布式 SQL 数据库

    CrateDB 4.3.1发布。Crate 是一个开源的大规模的可伸缩的数据存储系统,无需任何系统管理需求。提供强大的搜索功能。用于存储各种表格数据、非结构化数据和二进制对象。并可通过 SQL

    Scala 3 来了,Dotty 发布 3.0.0-M1 版本

    Dotty 发布3.0 的首个里程碑版本 3.0.0-M1,Dotty 作为 Scala 尝试新的语言概念以及编译器技术的研究平台,它最终将成为 Scala 3.0。 Dotty 对

    Dapr 1.0 发布分布式应用运行时

    Dapr 1.0 正式发布。 Dapr 是一个开源、可移植的、事件驱动的运行时,可以帮助开发人员构建在云和边缘上运行的弹性的、微服务的、无状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关

    GoLand 2020.3.2 发布,bug 修复版本

    GoLand 2020.3.2 已经发布,主要包含各种 bug 修复。 部分更新内容 支持在带有 M1 芯片的 Mac 上正常使用调试器。 如果之前已配置,则需要升级到 2020.3.2 后就

    Spring Boot 2.4.0-RC1, 2.1.18, 2.2.11 和 2.3.5 发布

    Spring Boot 个分支发布了新版本,分别是 2.4.0-RC1, 2.1.18, 2.2.11 和 2.3.5。 Spring Boot 2.4.0-RC1版本是 

    Rails 6.1 稳定版发布:支持水平分区、改进数据库支持、Strict Loading

    Rails 6.1 稳定版已发布,其开发团队表示,过去的几个月里他们实现了对数据库支持的改进、支持在后台销毁关联异步(Associations Async)进程以及将错误转化为对象等。 按数据库

    TimescaleDB 2.0.0 发布,基于 PostgreSQL 的时序数据库

    TimescaleDB 2.0.0 现已发布。TimescaleDB 是基于 PostgreSQL 开发的一款时序数据库,以插件化的形式打包提供。此版本增加了对分布式超表(节点

    关系型数据库管理系统openGauss 1.0.1版本发布

    openGauss简介 openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核源自PostgreSQL,深度融合华为在数据库领域多年的经验,结合企业级

    InfluxDB 1.7.11 发布,开源时序数据库

    InfluxDB 1.7.11 现已发布,具体更新内容如下: Bug 修复 #17633:fix(storage/reads):更新 sortKey 排序方法以使用空字节作为分隔符,而不是逗号