]> git.saurik.com Git - redis.git/commit
lookupKeyByPattern() used by SORT GET/BY rewritten. Fixes issue #460.
authorantirez <antirez@gmail.com>
Tue, 17 Apr 2012 11:05:09 +0000 (13:05 +0200)
committerantirez <antirez@gmail.com>
Tue, 17 Apr 2012 16:26:52 +0000 (18:26 +0200)
commit68ee18558ab23066b0273ae59b3d6ab63db2dd15
tree1dc8b26473496e90f5e84fd000a88b0791f05a39
parent96aeca4b9d084ceff6bc8ee56a2bf58bab61d3db
lookupKeyByPattern() used by SORT GET/BY rewritten. Fixes issue #460.

lookupKeyByPattern() was implemented with a trick to speedup the lookup
process allocating two fake Redis obejcts on the stack. However now that
we propagate expires to the slave as DEL operations the lookup of the
key may result into a call to expireIfNeeded() having the stack
allocated object as argument, that may in turn use it to create the
protocol to send to the slave. But since this fake obejcts are
inherently read-only this is a problem.

As a side effect of this fix there are no longer size limits in the
pattern to be used with GET/BY option of SORT.

See https://github.com/antirez/redis/issues/460 for bug details.
src/sort.c