Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Zeppelin 测试

Kang Wang edited this page Aug 3, 2017 · 10 revisions

基础测试

主测试项 子测试项 预期结果
创建表 正常增加表,同一个Parition的不同副本在不同机器
Node节点异常 Slave宕机 集群epoch不增加,对应Master一直重复尝试发送Binlog
Slave 恢复 正常恢复主从关系
Slave快速重启 epoch不增加,正常恢复主从关系
Master宕机 集群epoch增加,重新选出新主提供服务,其他节点正常主从关系
Master恢复 epoch不变化,旧主重新加入恢复主从关系
Master快速重启 epoch不增加,启动后旧Slave主动重新发起连接
多节点宕机 epoch增加,切主,存活的Master一直尝试发送
多节点宕机恢复 恢复
Meta节点异常 Slave宕机 集群正常,Node连接重新连接
Slave恢复 恢复
Master宕机 重新选主,元信息恢复
Master恢复 以Slave的角色重新加入
过半数Meta宕机 Meta集群停止服务,已连接Node的请求不受影响
集群恢复 Node重新连接,不引起epoch变化
Node节点Meta节点同时异常 部分Meta宕机,Meta集群正常 同Node节点异常
过半数Meta宕机,Meta集群停止服务 宕机Node无法正常摘掉,可能仍然作为Master存在

同步测试

主测试项 子测试项 预期结果
部分同步 正常写入,停止 不同副本间偏移量一致
写入中,Slave宕机 Master合理时间间隔不断重试发送
写入中,Slave恢复 一段时间后恢复,停写后偏移量一致
写入中,Master宕机 发生切主
写入中,旧Master恢复,旧Master偏移量小于新Master 旧主偏移量被新主fallback, 重新trysync后一段时间恢复,停写后偏移量一致,replinfo中能看到正确的fallback信息,binlog目录不会有多余历史binlog
写入中,旧Master恢复,旧Master偏移量大于新Master 旧主偏移量被新主fallback, 重新trysync后一段时间恢复,停写后偏移量一致,replinfo中能看到正确的fallback信息, binlog目录不会有多余历史binlog
写入中,Master快速重启 不引起epoch变化,一段时间后Slave由于lease超时,发起重连,一段时间后恢复,停写后偏移量一致
损坏Master Binlog文件,并加入新Slave 新Slave可以正常同步到数据,停写后偏移量一致
快照
全同步

元信息测试

主测试项 子测试项 预期结果
SetMaster
AddSlave
DeleteSlave

接口测试

测试项 测试方法 预期结果
同步接口测试 zeppelin-client/tools/zp_parade 五种同步接口在合理时间内正常完成
异步接口测试 zeppelin-client/libzp/libzp/example/zp_async 结果正常
接口超时测试 zeppelin-client/libzp/libzp/example/zp_timeout 给出不同timeout,正常反应
链接数测试 zeppelin-client/libzp/libzp/example/zp_mget 过程中观察与node建立的链接,被node超时断开后应该能正常销毁并重建
内存溢出测试 valgrind 执行zp_parade 无溢出

压力测试

Clone this wiki locally