2024-03-22 9.1.0版本变动
新特性
- GetMergeOperandsOptions::continue_cb 执行GetMergeOperands之后的callback
- 校验导入文件的comparator和已有的comparator是否冲突
- 导入文件支持memtable开启user-defined timestamp ?
- 对于支持存储级别checksum/重建的文件系统,如果读/扫/写/compact SST发生checksum mismatch报错,会重试
- 冷热感知特性加强/bug修复,包括
- 写 default_write_temperature
- SstFileWriter支持
- WriteBatchWithIndex支持宽列点查 GetEntityFromBatch
- 新指标暴露 Iterator::GetProperty(“rocksdb.iterator.write-time”) 得到WriteBatch::TimedPut大概时间
API行为变动
- best_efforts_recovery必须和atomic_flush同时使用,要么能恢复要么不恢复
- bottommost_temperature被last_level_temperature取代
- PerfContext新增block_cache_index_read_byte/block_cache_filter_read_byte/block_cache_compression_dict_read_byte/block_cache_read_byte
- 废弃remote compaction 接口 StartV2()/ WaitForCompleteV2(),使用 Schedule()/ Wait().替代,返回token id语义清晰
- WriteCommittedTransaction::GetForUpdate如果开启user defined timestamp do_validate必须true进行校验,否则时间戳校验不生效,如果用户侧能保证时间戳不生效可以不管这个配置,用户侧维护自增时间戳之类的
- 新增PerfLevel kEnableWait观测阻塞事件(不是mutex),比如写入delay/stall 之类的
- RateLimiter 不再要求burst size和refill size相同,提供新接口single_burst_bytes/SetSingleBurstBytes
行为变动
- 当SetSingleBurstBytes调用 refill不会变动
- ColumnFamilyOptions::max_successive_merges 只统计内存中的操作,除非使用 strict_max_successive_merges
BUG修复
- kBlockCacheTier 场景IO需要合并blobfile base value,返回Status::Incomplete
- kBlockCacheTier场景 table cache miss返回空字符串,改成返回Status::Incomplete
- 修复 PurgeObsoleteWALFiles频繁调度 WalManager存在数据竞争风险
- 开启recycle_log_file_num 之前恢复逻辑有bug,就关了。这个配置不能和disableWAL同时使用,会报错Status::InvalidArgument()
ent() will be returned if disableWAL is specified.
性能提升 Java API multiGet()
看到这里或许你有建议或者疑问或者指出错误,请留言评论! 多谢! 你的评论非常重要!也可以帮忙点赞收藏转发!多谢支持!
觉得写的不错那就给点吧, 在线乞讨