Open GoogleCodeExporter opened 9 years ago
Hello, I guess this happens when this single-element sorted set was created
after a lot of hacking against a sorted set, or are you able to provide the
list of commands that can reproduce this?
It can help a lot to know the kind of commands you run against sorted sets, the
kind of deletion you use (example by range) and so forth.
Thanks,
Salvatore
Original comment by anti...@gmail.com
on 4 Nov 2010 at 4:50
Forgot to ask a few things:
1) Does this happen consistently over time?
2) Did you tried if with redis-cli this is also the case?
Thanks,
Salvatore
Original comment by anti...@gmail.com
on 4 Nov 2010 at 4:51
No it doesn't happen every time.
It happens under conditions I'm still trying to chase.
We have a fairly busy system ~ 20000 commands / sec where this occurs about
twice a day
But once it starts happening the zrangebyscore is broken and seems to be fixed
only by calling -inf +inf
I didn't try with the redis-cli but I'll do so the next time it happens.
What I suspect is that this is triggered by a broken call i.e. with a very
weird score to zadd with that same value.
In this example there's only one key in the zset but it also happens in zsets
with multiple values, in these cases only one key become invisible while others
keep working correctly.
Original comment by hungrybl...@gmail.com
on 4 Nov 2010 at 5:10
I forgot to add that entries are never removed from this set.
Also, in theory entries should never have their score changed(but I suspect
under some very rare conditions our system is actually trying to zadd the same
key with a non properly formatted score)
Original comment by hungrybl...@gmail.com
on 4 Nov 2010 at 5:15
This is a truly strange issue actually... what is more shocking for me is that
a -inf +inf range fetching fixes things. It's a read only operation that does
not change the sorted set...
If you can try with redis-cli we can make sure it's not a matter if redis-rb
parsing error.
Another thing that could help a lot is if you can enable AOF in some instance,
so we could reach this point just playing the AOF, with some luck.
Thank you very much,
it is very unlikely that we can fix this issue in short time without your help
:)
Salvatore
Original comment by anti...@gmail.com
on 4 Nov 2010 at 5:32
I'll keep the ticket updated with my findings when this will happen again.
At the moment I'm updating the redis-rb version from 2.0.6 to 2.0.13 on all
our servers so it might also be I won't see the issue again (2.0.12 includes a
fix for a bug where redis-rb after a connection timeout mangles the data
passing over the network).
Enabling AOF is not an option since out of 20000 commands each second about 50%
are writes.
Original comment by hungrybl...@gmail.com
on 4 Nov 2010 at 5:45
Thank you for your help!
Salvatore
Original comment by anti...@gmail.com
on 4 Nov 2010 at 5:49
Original issue reported on code.google.com by
hungrybl...@gmail.com
on 4 Nov 2010 at 4:43