mirror of
https://github.com/fluencelabs/redis
synced 2025-03-18 08:30:51 +00:00
Cluster test: slots allocation.
This commit is contained in:
parent
4a3db25504
commit
7b5ce1ffb1
@ -42,3 +42,22 @@ proc get_myself id {
|
||||
return {}
|
||||
}
|
||||
|
||||
# Return the value of the specified CLUSTER INFO field.
|
||||
proc CI {n field} {
|
||||
get_info_field [R $n cluster info] $field
|
||||
}
|
||||
|
||||
# Assuming nodes are reest, this function performs slots allocation.
|
||||
# Only the first 'n' nodes are used.
|
||||
proc cluster_allocate_slots {n} {
|
||||
set slot 16383
|
||||
while {$slot >= 0} {
|
||||
# Allocate successive slots to random nodes.
|
||||
set node [randomInt $n]
|
||||
lappend slots_$node $slot
|
||||
incr slot -1
|
||||
}
|
||||
for {set j 0} {$j < $n} {incr j} {
|
||||
R $j cluster addslots {*}[set slots_${j}]
|
||||
}
|
||||
}
|
||||
|
@ -51,6 +51,16 @@ test "Check if nodes auto-discovery works" {
|
||||
}
|
||||
}
|
||||
|
||||
test "Before slots allocation, all nodes report cluster failure" {
|
||||
foreach_redis_id id {
|
||||
assert {[CI $id cluster_state] eq {fail}}
|
||||
}
|
||||
}
|
||||
|
||||
test "It is possible to perform slot allocation" {
|
||||
cluster_allocate_slots 5
|
||||
}
|
||||
|
||||
test "After the join, every node gets a different config epoch" {
|
||||
set trynum 60
|
||||
while {[incr trynum -1] != 0} {
|
||||
|
Loading…
x
Reference in New Issue
Block a user