Releases: baidu/tera
Releases · baidu/tera
Release v0.4.4
This release update dependencies: replace trunk with released version; replace too old version with newer version.
The list of all dependencies:
- BOOST_VERSION=1_58_0
- PROTOBUF_VERSION=2.6.1
- SNAPPY_VERSION=1.1.3
- SOFA_PBRPC_VERSION=1.1.1
- ZOOKEEPER_VERSION=3.4.9
- GFLAGS_VERSION=2.1.2
- GLOG_VERSION=0.3.3
- GTEST_VERSION=1.8.0
- LIBUNWIND_VERSION=0.99
- GPERFTOOLS_VERSION=2.5
- INS_VERSION=0.14
Release v0.5.2
- Support travis
- Update build.sh
- Update test scripts
- Bugfix: sync failed
- Bugfix: invalid row-delete
- Bugfix: invalid status of disabled table
Release v0.5.1
截至2016.11.08
base: master
版本要点
- 将tera的key作为mysql的primary key支持seek
- 重构SDK头文件,重写大部分注释
- SDK成员变量命名风格统一为
name_
- 支持SDK记录当前代码版本
- Python SDK支持用户自定义libtera_c.so的路径
- 支持扩展性更高的manifest格式
- 写manifest移出lock范围
- 增强原子计数器的准确度
- 支持table_cache的大小以size指定
- 增加cache的profile信息
- 提供通用的scheduler脚本(负载均衡)
- 增加tablet状态更新信息支持scheduler对游离tablet的判断
- 支持元信息的管理和只读权限分离
- 记录RPC请求的源ip和port
- 支持测试case的生成和运行分离
- 升级build脚本以及各个依赖版本
- 文档:增加SDK各模块文档、单行事务文档,更新onebox文档
问题修复
- 修复在gcc4下的编译问题
- 修复enable和disable过程中可能触发的bug
- 修复多线程负载均衡可能触发的问题
- 修复线程池1ms定时任务很不准确的问题
- 修复nexus sdk在lock返回时session id可能变化导致的问题
- 修复ttlkv表scan提前终止的bug
- 修复负载均衡过程中master内存变更触发的bug
Release v0.3.2
Release v0.4.2
Release v0.5.0
截至2016.08.01
base: master
版本要点
- 动态负载均衡升级,支持写、扫描负载
- 分片分裂合并优化
- 支持写热点加速分裂
- 写负载高的tablet不进行合并
- 支持回传客户端分片状态更新时间
- teracli支持传入分片集合进行compact
- mysql版本支持5.6.31
- teracli支持关闭二进制字符输出
- sdk timeout性能优化
问题修复
- 合并超时容错
- libtera_c锁错误
- cookie目录不存在时进行创建
- WriteTabletTask Counter计数错误
- cookie文件名修正
- TTLKv scan产生重复数据
Release v0.4.1
截至2016.07.13
base: v0.4.0
版本要点
SDK性能大幅提升
Release v0.4.0
截至2016.05.27
base: master
新增功能
teracli支持按照tablet进行扫描
支持不停服务变更CF及其属性
支持大行的用户自定义Filter
增加双集群API
增加table_cache和block_cache的命中率统计
teracli增加disable命令的进度条显示
teracli的写接口支持指定时间戳
增加master上的tablet可用性统计
支持根据cell数量上限控制扫描粒度
支持Flash表的异步SSD文件拷贝
Python SDK增加异步读接口
提高了teracli的输出可读性
增加了SDK的Table单例性,即用户多次打开同一个表格会指向同一份内部资源
ErrorCode中增加了失败的重试次数信息,增加了ToString接口
丰富了SDK的统计信息
关键bug修复
修复了SDK在RowReader超时后收到读成功回调时会发生coredump的问题
修复了memtable_on_leveldb因不支持快照保护导致失去单行写入原子性的问题
修复了流式扫描结果的版本数不符合schema的问题
修复了tablet在手动compact过程中发生unload时会死锁的问题
修复了compact生效时不检查CURRENT文件rename操作返回值的问题
修复了流式扫描过程中同一迭代器的compact_strategy被误初始化的问题
修复了SDK进行读写重试时可能因请求数过多导致RPC请求打包过大进而失败的问题
修复了master在增量GC中可能发生coredump的问题
其它变更
编译产出增加了SDK动态链接库,内置所有第三方依赖
编译时使用的sofa-pbrpc和nexus由主干改为发布版,所有第三方依赖均已采用发布版
Release v0.3.1
截至2016.04.28
base: v0.3.0
版本要点
稳定性提升
问题修复
- Manual Compact执行过程中无法卸载分片
- tera_mark运行过程中可能出core
- master gc策略在表格删除情况下可能出core
- master在出现zk断连等合理异常时,不再产生core文件
- 线程池正在运行线程统计错误
- tera_mark中也增加了version功能
- sdk传输数据时,增加最大包限制,防止突破protobuffer极限
Release v0.3.0
截至2016.02.02
base: master
新增功能
- 支持level0文件参与tablet分裂,确保成功
- 增加tablet 写负载显示
- master垃圾收集由批量转为增量
- 新增python sdk
- 增加快速teracli-show模式,可显示集群数据总和
- 增加对用户数据写入异常的限制
- 支持按读进行负载均衡
关键bug修复
- master拆分线程池,query用单独线程池处理
- split/merge生成tablet时,CreateDir失败,会导致tablet不可用
- sysinfo精度太低,qps统计不准
- master gc同时后台清理trash目录
- sst文件超过200M时,compact会发生溢出(int)
- tablet刚生成时宕机,可能残留空MANIFEST
- 建表、删表时meta与master内存不一致
- Env_dfs Rename非原子操作
- manifest切换时未释放锁
- 删除标记寻找Base level时,迭代器越界
- tabletnode执行已超时任务请求,资源浪费
- kv表scan时,切换buffer时多一条数据
- sdk析构时未清理延时任务