brandur/redis-cell

Reconfiguration caused unexpected behavior

whitehatboxer opened this issue · 0 comments

Firstly, it works good, as we can seen below.

127.0.0.1:6579> CL.THROTTLE user1 15 10 20 1
1) (integer) 0
2) (integer) 16
3) (integer) 15
4) (integer) -1
5) (integer) 2
127.0.0.1:6579> CL.THROTTLE user1 15 10 20 1
1) (integer) 0
2) (integer) 16
3) (integer) 15
4) (integer) -1
5) (integer) 2
127.0.0.1:6579> CL.THROTTLE user1 15 10 20 1
1) (integer) 0
2) (integer) 16
3) (integer) 14
4) (integer) -1
5) (integer) 3
127.0.0.1:6579> CL.THROTTLE user1 15 10 20 1
1) (integer) 0
2) (integer) 16
3) (integer) 13
4) (integer) -1
5) (integer) 4
...

Then I tried reconfigured it. I just increased rate and it caused unexpected behavior. The returned values got deny. Why it returned deny since I increased rate?

127.0.0.1:6579> CL.THROTTLE user1 15 10 20 1
1) (integer) 0
2) (integer) 16
3) (integer) 13
4) (integer) -1
5) (integer) 4
127.0.0.1:6579> CL.THROTTLE user1 15 1000 20 1
1) (integer) 1
2) (integer) 16
3) (integer) 0
4) (integer) 2
5) (integer) 2
127.0.0.1:6579> CL.THROTTLE user1 15 1000 20 1
1) (integer) 1
2) (integer) 16
3) (integer) 0
4) (integer) 1
5) (integer) 1

I guess it is because time need reset to its maximum capacity is not zero so when I change configuration it will deny unit it run out of last seconds. And I think it was not conforming to the statement in readme which said: Rate limiting parameters are provided with every invocation so that limits can easily be reconfigured on the fly.