mirror of
https://github.com/fluencelabs/redis
synced 2025-04-26 02:52:15 +00:00
Tests for min-slaves-* feature.
This commit is contained in:
parent
3758f27bc1
commit
134fd9eaf4
@ -6,6 +6,66 @@ start_server {tags {"repl"}} {
|
|||||||
s -1 role
|
s -1 role
|
||||||
} {slave}
|
} {slave}
|
||||||
|
|
||||||
|
test {If min-slaves-to-write is honored, write is accepted} {
|
||||||
|
r config set min-slaves-to-write 1
|
||||||
|
r config set min-slaves-max-lag 10
|
||||||
|
r set foo 12345
|
||||||
|
wait_for_condition 50 100 {
|
||||||
|
[r -1 get foo] eq {12345}
|
||||||
|
} else {
|
||||||
|
fail "Write did not reached slave"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test {No write if min-slaves-to-write is < attached slaves} {
|
||||||
|
r config set min-slaves-to-write 2
|
||||||
|
r config set min-slaves-max-lag 10
|
||||||
|
catch {r set foo 12345} err
|
||||||
|
set err
|
||||||
|
} {NOREPLICAS*}
|
||||||
|
|
||||||
|
test {If min-slaves-to-write is honored, write is accepted (again)} {
|
||||||
|
r config set min-slaves-to-write 1
|
||||||
|
r config set min-slaves-max-lag 10
|
||||||
|
r set foo 12345
|
||||||
|
wait_for_condition 50 100 {
|
||||||
|
[r -1 get foo] eq {12345}
|
||||||
|
} else {
|
||||||
|
fail "Write did not reached slave"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test {No write if min-slaves-max-lag is > of the slave lag} {
|
||||||
|
r -1 deferred 1
|
||||||
|
r config set min-slaves-to-write 1
|
||||||
|
r config set min-slaves-max-lag 2
|
||||||
|
r -1 debug sleep 6
|
||||||
|
assert {[r set foo 12345] eq {OK}}
|
||||||
|
after 4000
|
||||||
|
catch {r set foo 12345} err
|
||||||
|
assert {[r -1 read] eq {OK}}
|
||||||
|
r -1 deferred 0
|
||||||
|
set err
|
||||||
|
} {NOREPLICAS*}
|
||||||
|
|
||||||
|
test {min-slaves-to-write is ignored by slaves} {
|
||||||
|
r config set min-slaves-to-write 1
|
||||||
|
r config set min-slaves-max-lag 10
|
||||||
|
r -1 config set min-slaves-to-write 1
|
||||||
|
r -1 config set min-slaves-max-lag 10
|
||||||
|
r set foo aaabbb
|
||||||
|
wait_for_condition 50 100 {
|
||||||
|
[r -1 get foo] eq {aaabbb}
|
||||||
|
} else {
|
||||||
|
fail "Write did not reached slave"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fix parameters for the next test to work
|
||||||
|
r config set min-slaves-to-write 0
|
||||||
|
r -1 config set min-slaves-to-write 0
|
||||||
|
r flushall
|
||||||
|
|
||||||
test {MASTER and SLAVE dataset should be identical after complex ops} {
|
test {MASTER and SLAVE dataset should be identical after complex ops} {
|
||||||
createComplexDataset r 10000
|
createComplexDataset r 10000
|
||||||
after 500
|
after 500
|
||||||
|
Loading…
x
Reference in New Issue
Block a user