Open GoogleCodeExporter opened 8 years ago
What is the Redis version of the master? Even though a RDB incompatibility
should be detected when reading the first couple of bytes, this could be
useful. Do you still have the temporary RDB file that this slave was reading
when it died? If so, could you run the redis-check-dump utility against it to
see if it is corrupt to begin with?
Thanks,
Pieter
Original comment by pcnoordh...@gmail.com
on 11 Aug 2011 at 12:16
Crosspost from ML (by Salvatore):
That's the problem you are experiencing IMHO:
What's new in Redis 2.2.11
==========================
* Solved a never reported but possibly critical bug in the AOF and RDB
persistence, introduced with the new version of the iterator: In very rare
circumstances the AOF (after rerwite) or the rdb file may contain the same
key more than one time.
Original comment by pcnoordh...@gmail.com
on 11 Aug 2011 at 1:21
I don't think this issue is related to the iterator bugs: the "Unknown RDB
encoding type" error is more likely to point in the direction of a byte-level
corruption. A single key being present more than once would result in an error
in the main loop of the code responsible for loading an RDB.
Original comment by pcnoordh...@gmail.com
on 11 Aug 2011 at 1:34
Pieter: I would close this if not reported for a more recent version of Redis
as well, do you agree?
Salvatore
Original comment by anti...@gmail.com
on 14 Sep 2011 at 3:41
We haven't seen this again, so I think closing makes sense, will
re-report/re-open if we ever see it again.
Original comment by mik...@instagram.com
on 14 Sep 2011 at 9:49
Thanks, now that I'm thinking at this, I'm sure that attaching a 2.2.x slave to
a >= 2.4 master will generate such an error in most cases. Maybe this was the
cause, or maybe not, but in general it is not a good idea that incompatible
versions will generate a crash.
So I'll assume (even if this may not be the case) that this was the reason and
will try to fix this bug.
However at some point we changed the 2.4 RDB file version, so in newer versions
of Redis 2.4 the bug you'll see with a 2.2 slave should be more clear than a
crash, but it is worth to try and investigate. This are exactly the kind of
issues I want to solve before continuing with the scripting/cluster development.
Marking this bug as Accepted for the above reasons. Thanks for the help!
Cheers,
Salvatore
Original comment by anti...@gmail.com
on 14 Sep 2011 at 10:22
Original issue reported on code.google.com by
mik...@instagram.com
on 9 Aug 2011 at 8:28