TcaplusDB 3.73.0 Release Note
1. 特性列表
- 新增:[商业版] Tcapsvr支持当进程性能过载时,对服务按照用户请求 > 搬迁请求 > 内部请求的方式进行降级处理
- 新增:[商业版] TcaplusDB 增加索引记录数上报逻辑
- 新增:[商业版] 支持master故障重建功能
- 新增:[商业版] Tcapsvr中的lshdb引擎支持热温数据分离
- 新增:[商业版] Tcapsvr中的lshdb引擎,master-slave 用异构的数据整理策略
- 新增:[商业版] Tcapsvr支持用dump出来的文件,构造lshdb引擎目录
- 新增:[商业版] Tcapsvr支持网络安全的http方式实现control命令
- 新增:[商业版] Tcapsvr支持dump指定的app或zone或table或shard的数据
- 新增:[商业版] Generic表支持批量条件更新
- 新增:[商业版] Online restore支持自动调整引擎参数
- 新增:[商业版] 分布式索引支持https方式访问elastic search
- 新增:[商业版] Tcapsvr支持索引引擎的空洞率上报
- 新增:[商业版] Tcapdb自动兼容腾讯云版ES和标准版ES
- 优化:[商业版] txhdb空闲块分配优化算法,减少空洞
- 优化:[商业版] tcapdb合并热key的写操作后,再同步到ES
- 优化:[商业版] 回档支持一边下载一边解压一边Redo ulog的能力,结合之前的多线程分发方案,性能提升10倍以上
- 优化:[商业版] 针对条件过滤,将Like通配符匹配实现换成PostgresSQL的实现
- 优化:[商业版] tcapulogmgr重构Redo Ulog功能为多线程分析ulog,多线程redo ulog, 性能提升10倍
- 优化:[商业版] 记录回档支持只回档部分value字段
- 优化:[商业版] 缓写支持pb表的字段内容转为json格式
- 优化:[商业版] Tcapulogmgr提供只执行指定shard的binlog的能力
- 优化:[商业版] 条件更新能力中,对pb 反序列化的性能进行优化
- 优化:[商业版] 跨集群导数据,支持tcaproxy的版本低于tcapsvrmgr工具版本
- 优化:[商业版] 对模糊回档使用到的FilterRecord功能进行并行化改造,提升性能
- 优化:[商业版] Tcapsvr对系统内部请求与业务请求进行分开统计(注意观察各种统计曲线)
- 优化:[商业版] Tcapsvr的默认内存算法从ptmalloc改为jemalloc,碎片回收更高效
- 优化:[商业版] 搬迁过程中,tcapsvr去掉ttl的判断,不管数据是否过期,都要搬到目的端
- 优化:[商业版] Tcapsvr对list表的遍历,对同一个大key下记录的遍历的性能进行优化(线上注意此类问题)
- 优化:[商业版] Tcapsvr在对某张表搬迁期间,支持对其他的表进行遍历
- 优化:[商业版] Tcapsvr master将UlogHead.MetaData同步给slave节点
- 优化:[商业版] Tcapsvr支持将lzo压缩算法替换为snappy压缩算法
- 优化:[商业版] 对分布式缓存功能,Tcapsvr进行表变更的性能优化
- 优化:[商业版] 分布式索引只查询key时,支持直接从tcaproxy返回key,而不再从tcapsvr端查询
2. Bug列表
修复:Tcaproxy的内部TCAPLUS_CMD_GET_TABLE_META_REQ请求统计问题导致tcapsvr故障切换的问题
修复:目的端加表,由于主备之间存在时间差,当新shard还未在slave添加,导致物理搬迁事务挂起的问题
修复:分布式索引在tcapsvr端进行二次过滤时,出现中文匹配失败的问题以及某些匹配条件出现结果错误的问题
修复:lshdb引擎搬迁时,tcapsvr的route info消息中的shard_id可能无效,导致负载均衡发生时,偶现消息四元组不匹配的问题
修复:对于共享Tcaproxy, BatchGet统计不准确,分区消息未统计的问题
修复:tcapsvr内部统计指标averageDelayPerCycle可能溢出的问题
修复:FOR_SHARD模式下,tcapsvr在过载情况下存在给PROXY回包版本号裁剪不正确导致proxy解包失败的问题
修复:当目的端过载时,源端重试时间不符合预期,导致物理搬迁事务容易挂起的问题
修复:3.62.0或3.73.0的Master往低版本3.55.0的Slave主备同步时,做版本裁剪序列化buffer给的偏小,概率性导致主备同步卡住的问题
修复:当Shard为空时,上报的total_size翻转导致统计报表中数据不准确的问题
修复:Tcapsvr在处理8个key时,当key序列化后超过5KB以后, 存在内存越界的问题
修复:pb表key字段是枚举类型时,条件更新报错的问题
修复:Tcapsvr中长期没有数据读写,升级slave后再次主备切换后,新的slave会无法成功注册的问题
修复:对于lshdb引擎,tcapsvr回档时unlink删引擎文件会失败的问题
修复:Tcapsvr打开引擎成功后,主线程初始化过程中如果异常退出,然后再次重启就会有sysfile的seq和ulog seq不一致的问题
修复:pb3 写入的key和value都是默认值时,空message导致条件过滤和条件更新失败的问题
修复:Tcapsvr在备份期间如果删除部分shard时(走有损搬迁),可能出现coredump的问题
修复:缓写对于uint32类型字段当做int32类型处理的,导致uint32的值大于int32最大值就溢出了的问题
修复:表meta中生成的splittablekey在未显示指定splittablekey并且存在多个primary key字段时会不准确的问题
修复:Tcapsvr在list表遍历出现超时时,响应包中携带的offset值为0,导致下次遍历请求过来时,又重头遍历的问题
修复:Tcaproxy时延统计信息可能会溢出的问题