Skip to content

Latest commit

 

History

History
397 lines (265 loc) · 35.6 KB

CHANGELOG_CN.MD

File metadata and controls

397 lines (265 loc) · 35.6 KB

v3.5.3

新特性

bugfix

  • 修复 Pika 有从节点进行全量复制期间会误删除 dump 文件的问题#2377@wangshao1

  • 修复主从复制过程中, slave 节点收到 master 异常回包后的处理逻辑#2319@wangshao1

  • 在 Pika 执行 shutdown 命令时调用 disable compaction, 提升进程退出速度 #2345 @panlei-coder

  • 修复 Codis-dashboard Redis Memory 值不准确的问题#2337 @Mixficsol

  • INFO 命令耗时优化,降低查磁盘频率 #2197 @chejinge

  • 修复 Rsync 删除临时文件路径不对,删除失败,导致rocksdb打开失败的问题#2186@wangshao1

  • 修复 Compact ,Bgsave ,Info keyspace 命令未指定db名称,导致部分命令 coredump 的问题#2194@u6th9d

  • Codis dashboard 用 info replication 替代 info 命令查寻 master ip 降低对 Pika 的性能影响 #2198 @chenbt-hz

  • 修复 Pika cache 使用边缘case,解决部分场景下 cache 和 DB 数据不一致的问题#2225 @chejinge

  • 修复当 dump 文件夹为空时,会启动报错 Segmentation fault 的问题#2265 @chenbt-hz

  • 修复因为flag计算错误,导致的部分命令缓存没有生效问题#2217 @lqxhub

  • 修复主从复制模式下,主实例 flushdb 后,从实例因为死锁导致的不能访问的问题#2249@ForestLH

  • 修复部分命令未对 RocksDB 的返回值进行判断的问题#2187@callme-taota

  • 规范函数的返回值及初始值#2176@Mixficsol

  • 修复网络监控指标统计不准确的问题#2234@chengyu-l

  • 修复配置文件加载部分参数异常的问题#2218@jettcc

  • 修复 Codis dashboard cpu 100% 的问题#2393@chengyu-l

  • 修复 Codis fe pika 主从角色显示异常的问题#2387@chengyu-l

v3.5.2

新特性

bugfix

  • 修复 pika 在使用 SETRANGE 命令出现 coredump的问题 #2125 @chejinge

  • 修复因删除 Clearreplicationid 写进 binlog 导致的全量复制问题 #2136 @Mixficsol

  • 修改锁粒度,提升 pika 写 binlog 的性能 #2129 @wangshao1

  • 增加 redis-copy 流量复制工具 #2044 @Mixficsol

  • 修复复杂数据类型成员变量可能出现数据溢出 #2016 @u6th9d

  • 修复 decr 命令返回值错误问题 #2092 @dingxiaoshuai123

  • 修复 setrange 和 setbit 命令没有保留原 key 的过期时间的问题 #2095 @u6th9d

v3.5.1

新特性

  • slow log 增加队列等待时间统计 #1997 @wangshao1

  • 主从复制使用 ReplicationID #1951 @Mixficsol

  • WAL 以 disablewal 命令方式支持动态关闭 #2015 @Mixficsol

  • flush 线程数和 compaction 线程数动态调整,合二为一 #2014 @Tianpingan

  • 升级了 RocksDB 版本到 v8.3.3 #1999 @dingxiaoshuai123

  • 增加了 Macos 环境下配置 Pika 的使用方法文档 #2003 @klboke

  • 新增周期性打印工作队列的长度功能,在队列阻塞的时候可以快速定位问题 #1978 @Tianpingan

  • 新增利用一个 pika_exporter 检测整个集群的指标 #1953 @chenbt-hz

  • 实现在 K8s 环境上 Pika 服务的自动注册,在启动时自动注册,从而实现集群的自组织 #1931 @machinly

bugfix

  • 减少了 exporter 非必要的日志打印,降低 CPU 利用率 #1945 @Mixficsol

  • 升级了 sentinel 机制,对于掉线的主节点,进行逻辑删除 #1949 @Mixficsol

  • 调整 rate_limit 参数,修复压测时出现 RPS 为 0 的情况 #2009 @chejinge

  • 修复了 INFODATA 命令中对于遍历数据文件时出现空路径的逻辑判断 #1996 @Mixficsol

  • 完善了文档的一些部分缺失的描述 #1962 @baerwang

  • 使用 make -j 提高构建速度 #1933 @xiezheng-XD

  • 解决了 Codis 在线上出现大毛刺的问题 #2016 @chejinge

  • 修复了 Macos 环境下编译使用 tools 导致编译不过的问题 #2011 @A2ureStone

v3.5.0

重大特性

1.去除 Rsync

  1. 去除 Rsync
  2. 实现断点续传,速率限制,文件检验
  3. Pika 主从同步时,进行 master run_id 的检验

2.兼容更多 Redis 命令

  1. 支持 UNLINK 命令
  2. 支持 INFO COMMANDSTATS 命令
  3. 支持 HELLO、SETNAME 命令
  4. 支持 BLPOP、BRPOP 命令
  5. 新增 Pika 原创命令 DISKRECOVERY

3.RocksDB 版本升级和分级压缩

  1. 升级 RocksDB 版本到 v8.1.1
  2. 实现 RocksDB 分级压缩
  3. 新增 RocksDB 缓存配置项 num-shard-bits 能够从配置文件中读取

4.支持 Blobdb

  • 在 v3.5.0 版本我们支持 BlobDB KV 分离

    #1456

    @lqxhub

  1. 支持 BlobDB KV 分离

5.基于 Codis 的集群模式

  1. 引入 Codis 到 Pika
  2. 引入 Codis 的 CI
  3. 支持 Codis 迁移 slot 命令
  4. 新增是否在 reload 的 slotmigrate 状态

6.可观测性

  1. 新增 Pika 可观测系统 pika_exporter
  2. 新增网络 I/O 流量监控指标
  3. 新增命令统计耗时指标
  4. 新增 estimate_pending_compaction_bytes 度量来分析碎片率指标
  5. 新增 RocksDB 指标

7.云原生部署

  • 在 v3.5.0 版本我们实现了一个 pika-operator mvp 版本,主要实现了 Pika 单实例服务在 K8s 上的快速部署

    #1243 #1330 #1347

    @machinly

  1. 实现 Pika 单例服务在 K8s 上快速部署
  2. 实现了在 MiniKube 环境中部署 Pika
  3. 给 pika-operator 添加 E2E 测试

8.跨平台编译

  1. 支持 MacOS 平台

9.多平台 CI、Go 集成测试、TCL 单元测试、PythonE2E 测试、CTest 单元测试

  1. 新增 CentOS 环境下的 CI
  2. 新增 MacOS 环境下的 CI
  3. 新增 E2E 测试框架
  4. 新增在 Github CI Workflow 中添加 CMake 编译环境
  5. 新增在 TCL 脚本中 populate 方法模拟 Redis debug populate 方法,用以填充测试数据
  6. 新增单测启动脚本
  7. 新增在 blackwidow 中添加 cmake 文件,添加对 blackwidow 的单元测试
  8. 使用 CTest 进行单元测试
  9. 移植 Redis 测试脚本
  10. 在 CI 流程中添加新的任务,以验证 Pika 是否能在 CentOS 系统上成功编译

新增功能

改进

Bug 修复

注意事项