Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Turbo码先生
redis
提交
3064e9bd
R
redis
项目概览
Turbo码先生
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3064e9bd
编写于
9月 15, 2014
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Cluster test: unit 08, update messages.
上级
f5efa9bb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
90 addition
and
0 deletion
+90
-0
tests/cluster/tests/08-update-msg.tcl
tests/cluster/tests/08-update-msg.tcl
+90
-0
未找到文件。
tests/cluster/tests/08-update-msg.tcl
0 → 100644
浏览文件 @
3064e9bd
# Test UPDATE messages sent by other nodes when the currently authorirative
# master is unavaialble. The test is performed in the following steps:
#
# 1
)
Master goes down.
# 2
)
Slave failover and becomes new master.
# 3
)
New master is partitoned away.
# 4
)
Old master returns.
# 5
)
At this point we expect the old master to turn into a slave ASAP because
# of the UPDATE messages it will receive from the other nodes when its
# configuration will be found to be outdated.
source
"../tests/includes/init-tests.tcl"
test
"Create a 5 nodes cluster"
{
create_cluster 5 5
}
test
"Cluster is up"
{
assert_cluster_state ok
}
test
"Cluster is writable"
{
cluster_write_test 0
}
test
"Instance #5 is a slave"
{
assert
{[
RI 5 role
]
eq
{
slave
}}
}
test
"Instance #5 synced with the master"
{
wait_for_condition 1000 50
{
[
RI 5 master_link_status
]
eq
{
up
}
}
else
{
fail
"Instance #5 master link status is not up"
}
}
set current_epoch
[
CI 1 cluster_current_epoch
]
test
"Killing one master node"
{
kill_instance redis 0
}
test
"Wait for failover"
{
wait_for_condition 1000 50
{
[
CI 1 cluster_current_epoch
]
> $current_epoch
}
else
{
fail
"No failover detected"
}
}
test
"Cluster should eventually be up again"
{
assert_cluster_state ok
}
test
"Cluster is writable"
{
cluster_write_test 1
}
test
"Instance #5 is now a master"
{
assert
{[
RI 5 role
]
eq
{
master
}}
}
test
"Killing the new master #5"
{
kill_instance redis 5
}
test
"Cluster should be down now"
{
assert_cluster_state fail
}
test
"Restarting the old master node"
{
restart_instance redis 0
}
test
"Instance #0 gets converted into a slave"
{
wait_for_condition 1000 50
{
[
RI 0 role
]
eq
{
slave
}
}
else
{
fail
"Old master was not converted into slave"
}
}
test
"Restarting the new master node"
{
restart_instance redis 5
}
test
"Cluster is up again"
{
assert_cluster_state ok
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录