2024-05-25 9.3.0版本变动
新功能
- 乐观事务/悲观事务均提供GetEntity接口
- 乐观事务 WriteCommitted悲观食物均提供MultiGetEntity接口
- 乐观事务 WriteCommitted悲观事务均支持PutEntity 其他写策略(WritePrepared, WriteUnprepared)的API还在做
- 提供新metric “rocksdb.iterator.is-value-pinned” 统计iterator销毁途中返回的value数量
API接口变化
- C接口暴露metadata cache option
- C接口暴露compaction pri
行为变化
- FIFO compaction场景下CompactRange() 配置 change_level=true 直接报错Status::NotSupported()
- FIFO compaction 场景下外部文件导入永远导入到L0
Bug修复
- DBOptions::allow_2pc == true(除了乐观事务下的所有事务DB)且只有一个CF场景下,由于缺少WAL同步,打开DB可能报错Status::Corruption SST file is ahead of WALs
- CreateColumnFamilyWithImport()当多个CF导入的时候,可能重复使用epoch number
- ColumnFamilyOptions::inplace_update_support == true 场景下同一个key的覆盖写/读存在数据竞争
- preclude_last_level_data_seconds > 0条件下 CompactFiles可能导致范围冲突
- 当使用DBOptions::recycle_log_file_num > 0且DBOptions::wal_compression != kNoCompression场景下重新打开DB误报Status::Corruption
- LockWAL()时Flush() / IngestExternalFile()会阻塞
- FSSupportedOps::kFSBuffer场景下使用TieredSecondaryCache可能访问过期数据
看到这里或许你有建议或者疑问或者指出错误,请留言评论! 多谢! 你的评论非常重要!也可以帮忙点赞收藏转发!多谢支持!
觉得写的不错那就给点吧, 在线乞讨