Tera Versions Save

An Internet-Scale Database.

v0.4.4

7 years ago

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

v0.5.2

7 years ago
  1. Support travis
  2. Update build.sh
  3. Update test scripts
  4. Bugfix: sync failed
  5. Bugfix: invalid row-delete
  6. Bugfix: invalid status of disabled table

v0.5.1

7 years ago

截至2016.11.08 base: master

版本要点

  1. 将tera的key作为mysql的primary key支持seek
  2. 重构SDK头文件,重写大部分注释
  3. SDK成员变量命名风格统一为name_
  4. 支持SDK记录当前代码版本
  5. Python SDK支持用户自定义libtera_c.so的路径
  6. 支持扩展性更高的manifest格式
  7. 写manifest移出lock范围
  8. 增强原子计数器的准确度
  9. 支持table_cache的大小以size指定
  10. 增加cache的profile信息
  11. 提供通用的scheduler脚本(负载均衡)
  12. 增加tablet状态更新信息支持scheduler对游离tablet的判断
  13. 支持元信息的管理和只读权限分离
  14. 记录RPC请求的源ip和port
  15. 支持测试case的生成和运行分离
  16. 升级build脚本以及各个依赖版本
  17. 文档:增加SDK各模块文档、单行事务文档,更新onebox文档

问题修复

  1. 修复在gcc4下的编译问题
  2. 修复enable和disable过程中可能触发的bug
  3. 修复多线程负载均衡可能触发的问题
  4. 修复线程池1ms定时任务很不准确的问题
  5. 修复nexus sdk在lock返回时session id可能变化导致的问题
  6. 修复ttlkv表scan提前终止的bug
  7. 修复负载均衡过程中master内存变更触发的bug

v0.3.2

7 years ago

版本要点

稳定性提升

问题修复

  1. 修复nexus sdk在执行Lock()时session-id可能变化触发的bug #984

0.4.2

7 years ago

版本要点

稳定性提升

问题修复

修复因线程池timer精度低导致SDK的CPU利用率过高的问题 #972

0.5.0

7 years ago

截至2016.08.01 base: master

版本要点
  • 动态负载均衡升级,支持写、扫描负载
  • 分片分裂合并优化
    • 支持写热点加速分裂
    • 写负载高的tablet不进行合并
  • 支持回传客户端分片状态更新时间
  • teracli支持传入分片集合进行compact
  • mysql版本支持5.6.31
  • teracli支持关闭二进制字符输出
  • sdk timeout性能优化
问题修复
  • 合并超时容错
  • libtera_c锁错误
  • cookie目录不存在时进行创建
  • WriteTabletTask Counter计数错误
  • cookie文件名修正
  • TTLKv scan产生重复数据

0.4.1

7 years ago

截至2016.07.13 base: v0.4.0

版本要点

SDK性能大幅提升

0.4.0

7 years ago

截至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由主干改为发布版,所有第三方依赖均已采用发布版

0.3.1

8 years ago

截至2016.04.28 base: v0.3.0

版本要点

稳定性提升

问题修复
  • Manual Compact执行过程中无法卸载分片
  • tera_mark运行过程中可能出core
  • master gc策略在表格删除情况下可能出core
  • master在出现zk断连等合理异常时,不再产生core文件
  • 线程池正在运行线程统计错误
  • tera_mark中也增加了version功能
  • sdk传输数据时,增加最大包限制,防止突破protobuffer极限

0.3.0

8 years ago

截至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析构时未清理延时任务