You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When enabling Master/Slave FLASH storage option, Master may get failed over if many client connections write to the Master. Furthermore, this failover can be consistently seen by running a GET benchmark right after a SET benchmark with something like ten thousand connections.
To reproduce
Please note that we are using 4U8G VMs for hosting Master and Slave. The sentinel monitors and if master is down over 10 seconds and trigger a failover.
Execute the following GET benchmark right after the SET benchmark above
./memtier_benchmark-12 -s -p 6379 -t 200 -c 50 -n 500 --ratio 0:1 --key-pattern=P:P --data-size-range=2048-4096 --key-minimum=1 --key-maximum=5000000 --hide-histogram
I ran the two benchmarks in a script. As you can see that, right after the SET benchmark is finished, the next GET benchmark shows many zero qps and eventually leads to a failover.
Expected behavior
It looks the Master could get unresponsive when READING or UPDATING existing keys right after they just finished being written. Expecting READING or UPDATING existing keys shouldn't make Master become unresponsive and eventually triggered failover.
Additional information
If we chose to wait for a bit such as a couple of minutes, we didnt see any 0 qps for the GET benchmark and no failover happened.
Describe the bug
When enabling Master/Slave FLASH storage option, Master may get failed over if many client connections write to the Master. Furthermore, this failover can be consistently seen by running a GET benchmark right after a SET benchmark with something like ten thousand connections.
To reproduce
Please note that we are using 4U8G VMs for hosting Master and Slave. The sentinel monitors and if master is down over 10 seconds and trigger a failover.
./memtier_benchmark-12 -s -p 6379 -t 200 -c 50 -n 500 --ratio 1:0 --key-pattern=P:P --data-size-range=2048-4096 --key-minimum=1 --key-maximum=5000000 --hide-histogram
Execute the following GET benchmark right after the SET benchmark above
./memtier_benchmark-12 -s -p 6379 -t 200 -c 50 -n 500 --ratio 0:1 --key-pattern=P:P --data-size-range=2048-4096 --key-minimum=1 --key-maximum=5000000 --hide-histogram
I ran the two benchmarks in a script. As you can see that, right after the SET benchmark is finished, the next GET benchmark shows many zero qps and eventually leads to a failover.
Expected behavior
It looks the Master could get unresponsive when READING or UPDATING existing keys right after they just finished being written. Expecting READING or UPDATING existing keys shouldn't make Master become unresponsive and eventually triggered failover.
Additional information
If we chose to wait for a bit such as a couple of minutes, we didnt see any 0 qps for the GET benchmark and no failover happened.
keydb.conf example
The text was updated successfully, but these errors were encountered: