Skip to content

v3.1

Choose a tag to compare

@dongdaoguang dongdaoguang released this 21 Oct 03:10
· 15 commits to master since this release
73650ef

优化&新特性

  • 使用限速器对flush和compact磁盘限速,避免瞬间产生大量磁盘IO
  • binlog每生成8M数据时sync一次,避免数据一次性落盘,产生大量磁盘IO
  • 支持动态打开和关闭rocksdb的写WAL
  • 配置中添加是否使用direct IO
  • blob文件gc时,先判断blobindex中的ttl是否过期,如果过期则直接删除,避免回查sst文件
  • gc时将较小的blob文件直接作为gc的候选文件,不需要再进行采样判断是否要gc。这样避免了小文件每次gc时都会被选中,但由于可回收空间小于50%,而无法被回收的问题。
  • 在info中显示cache是否打开状态,如果关闭则不现实cache信息
  • 统计key数量时,只读取sst文件,不需要读取blob文件
  • 周期检测操作系统free内存剩余大小,如果小于用户设定值,则清理。只有master时执行该操作
  • 增大select命令db上限

Bug修复

  • 修复incr/incrby/incrbyfloat/decr/decrby会把key的expire属性消除的bug
  • blob文件gc时,在更新BlobIndex时没有设置timestamp参数,导致BlobIndex中的timestamp被设置成默认的0,而0代表没有过期时间,如果该条记录一直没有被访问更新,则blob中的记录将无法被删除。