Releases: OpenAtomFoundation/pika
v2.3.2
v2.3.1
Bug修复:
- 修复binlog的purge问题
- 修复srandmember不兼容问题
- 修复config get输出问题
优化 & 新特性:
- 支持动态调整Redis协议的read_buffer
- 修改rsync退出不完整
- 增加CPU的usage的运维参数
- 增加
slave-priority
参数,兼容redis的sentinel
注意事项
pika 2.3版本仅支持做2.3+版本的主从,请勿将pika 2.2和pika2.3建立主从
pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
仅支持从2.1.0+版本平滑升级到2.3.0,如果从更早版本升级,请看2.1.0的注意事项
MD5: pika-linux-x86_64-v2.3.1.tar.bz2 - d92ed7d1c3ff3cbcf8161bda1d0621d2
docker pull pikadb/pika:v2.3.1
v2.3.0
Bug修复:
- 修复pika在磁盘满无可用空间时可能出现异常的问题
- 修复DBSync和BGSave可能冲突的问题
- 修复自动删除过期binlog时可能的异常日志输出问题
优化 & 新特性:
- 支持双主【详见wiki】
- 支持通过pika_hub服务来支持多pika实例多点写入,互相同步【详见wiki】
- 支持订阅命令【详见wiki】
- 更新docker文件
- 支持docker镜像,
docker pull pikadb/pika:v2.3.0
注意事项
pika 2.3版本仅支持做2.3+版本的主从,请勿将pika 2.2和pika2.3建立主从
pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
仅支持从2.1.0+版本平滑升级到2.3.0,如果从更早版本升级,请看2.1.0的注意事项
md5: pika-linux-x86_64-v2.3.0.tar.bz2 - 484720c8d2a4bad92c7aa1661e7ef6cc
v2.2.6
Bug修复:
- 修复在强制全同步失败后,主从同步无法恢复的问题
- 修复在内部切换DB后,配置发生变动的问题
优化:
-
keys命令新增参数支持扫描指定类型的数据,用法如 "keys * [string, hash, list, zset, set]"
-
新增compact-interval配置项来周期检查并执行全局compact,具体用法见conf文件内说明
【注:如果同时配置compact-interval和compact-cron,前者优先级更高,后者会自动失效,直到关闭compact-interval后重新生效】 -
优化在连接数和请求数据同时较大(如执行HGETALL等命令)时pika内存占用多的问题
-
取消编译时对protobuf的依赖,编译更容易
-
新增pika_to_txt,txt_to_pika工具,支持将kv数据从pika导入到文本,或反向导回
注意事项
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
- 仅支持从2.1.0+版本平滑升级到2.2.6,如果从更早版本升级,请看2.1.0的注意事项
v2.2.5
Bug修复:
- 修复在断网并恢复后有可能导致主从长时间无法恢复数据同步的问题
- 修复delbackup和dump-expire可能导致备份数据删除不完整的问题
- 修复codis下slot_num的错误问题
- 修复了codis下slot迁移会丢失同名其它类型数据的问题
优化:
- 大幅度优化pika_to_redis工具,并且支持redis auth
- 优化全同步的速度
- 主从同步异常后,用无限重试取代之前进入直接sync_error状态,解决由于already exist错误导致的主从无法发重新建立的问题
- 调整Makefile,优化编译体验
注意事项
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
- 仅支持从2.1.0+版本平滑升级到2.2.5,如果从更早版本升级,请看2.1.0的注意事项
v2.2.4
Bug修复:
- 修复hscan, zscan, sscan在同时传入count和match时,会扫描累计满足count个match pattern的错误
- 修复aof_to_pika的在大value时会变慢的问题
优化:
- 支持delbackup命令,删除dump目录下除正在使用(全同步中)的db快照外的其他快照
- 支持expire-dump-days配置,可以按天自动给删除不需要的db快照
- 支持time命令
- 更新pink到3.0.4,重构并优化pink
注意事项
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make __REL=1编译
- 仅支持从2.1.0+版本平滑升级到2.2.4,如果从更早版本升级,请看2.1.0的注意事项
v2.2.3
Bug修复:
- 修复nemo-rocksdb在open时可能过早schedule autocompaction而崩溃的问题
- 修复在出现EPOLLERR或EPOLLHUP时,造成内存泄漏的问题
注意事项
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make __REL=1编译
- 仅支持从2.1.0+版本平滑升级到2.2.3,如果从更早版本升级,请看2.1.0的注意事项
v2.2.2
Bug修复:
- 修复如果主从同步数据的连接意外断开,将不会继续同步的问题
- 修复ttl,persit接口在某些已删除key返回值不正确的问题
- 修复scan命令当count传0时崩溃的问题
优化:
- 如果编译环境安装tcmalloc,则默认使用tcmalloc,并额外提供tcmalloc命令来进行内存查询及管理
- 整理pikatests目录,改名为tests
tcmalloc命令说明
该命令仅在编译pika的环境安装tcmalloc时才生效
具体用法:
- tcmalloc stats: 打印tcmalloc的stats信息
- tcmalloc list: 打印tcmalloc的FreeList详细信息
- tcmalloc rate: 打印tcmalloc的FLAGS_tcmalloc_release_rate值
- tcmalloc rate [0-10]: 设置tcmalloc的FLAGS_tcmalloc_release_rate值 【不要轻易改动】
- tcmalloc free: 强制tcmalloc尽可能多的释放自身缓存的内存,还给操作系统
注意事项
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make __REL=1编译
- 仅支持从2.1.0+版本平滑升级到2.2.2,如果从更早版本升级,请看2.1.0的注意事项
v2.2.1
Bug修复:
- 修复BinlogSender使用阻塞write,在slave卡死(如盘坏)的情况下,连带卡死master的问题
- 修复bit接口中正确性的问题
- 修复执行monitor造成内存泄漏的问题
- 修复在bind时可能崩溃的问题
- 修复在主从级联:A<-B<-C时,C执行slaveof no one后B主从状态没有更新的问题
- 修复当正在执行后台compaction任务时,pika不能正常退出的问题
优化:
- 新增配置项compact-cron,支持在每天指定时段内检测并在必要时进行全局compact
- 新增slaveof ip port force命令,强行全同步,适合主库db是从其他实例拷贝并加载而来,此时可以用此命令来为其挂从库
- rocksdb自身LOG按512M大小进行切分
- 慢日志记录更多信息(命令,key,value等),单条最长1K
- 精简部分日志
- 重写ssdb_to_pika工具,可以更快速的将ssdb数据迁移至pika
推荐
pika推荐使用tcmalloc来进行内存管理
注意事项
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make __REL=1编译
- 仅支持从2.1.0+版本平滑升级到2.2.1,如果从更早版本升级,请看2.1.0的注意事项
v2.2.0
Bug修复:
- 修复在scan含有过期key的时候可能出现的死循环的问题
- 修复在range操作中可能出现的读不出来key的问题
- 修复在大量短连接情况下执行慢请求造成fd耗尽的问题
- 修复bgsave和info同时执行在极小概率下出现死锁的问题
优化:
- 支持对过期及已删除meta key的compact回收
- 提高range操作的性能
- 提高写入性能(set接口提高30%)
- select命令限制dbnum上限(16)
- 支持接入codis
- 支持Geo
- 支持Hyperloglog
- 解耦rocksdb,重新实现nemo依赖的引擎特性,支持后续快速跟进官方版本,2.2.0使用rocksdb v5.0.1
- 支持多线程compact
注意事项
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make __REL=1编译
- 仅支持从2.1.0+版本平滑升级到2.2.0,如果从更早版本升级,请看2.1.0的注意事项