xing/beetle

Redis pinned to 2.0.4

Closed this issue · 6 comments

eric commented

Does redis need to be pinned to 2.0.4? I have been using beetle 0.2.6 with Redis 2.2.0 successfully for the past week and there are features in redis-rb 2.2.0 that I would like to continue making use of.

beetle patches some methods in redis.

we need to make sure it connects to the redis server only when necessary, so
that we can process non redundant messages without ever tyring to connect to
redis. this enhances the reliability of the messaging system and is required
to make the redis failover system work.

on top of that, we also need to upgrade our perl-redis/perl-beetle which we
also use.

we need a bit more time for that than we currently have.

On Mon, May 9, 2011 at 8:09 AM, eric <
reply@reply.github.com>wrote:

Does redis need to be pinned to 2.0.4? I have been using beetle 0.2.6 with
Redis 2.2.0 successfully for the past week and there are features in
redis-rb 2.2.0 that I would like to continue making use of.

Reply to this email directly or view it on GitHub:
#5

For rails performance tuning, see: http://railsexpress.de/blog
Subscription: http://railsexpress.de/blog/xml/rss20/feed.xml

eric commented

Are all of the patches to redis self-contained in redis_ext.rb in https://github.com/xing/beetle/blob/master/lib/beetle/redis_ext.rb ?

I think so.

On Mon, May 9, 2011 at 9:35 AM, eric <
reply@reply.github.com>wrote:

Are all of the patches to redis self-contained in redis_ext.rb in
https://github.com/xing/beetle/blob/master/lib/beetle/redis_ext.rb ?

Reply to this email directly or view it on GitHub:
#5 (comment)

For rails performance tuning, see: http://railsexpress.de/blog
Subscription: http://railsexpress.de/blog/xml/rss20/feed.xml

eric commented

In reviewing the changes between v2.0.4 and v2.2.0, I don't find any of the changes conflict with redis_ext.rb:

ezmobius/redis-rb@v2.0.4...v2.2.0

The only changes to related methods are:

Redis#slave_of: is now synchronized (see here)
Redis#inspect: is now synchronized (see here)
Redis#info: is now synchronized and protected from cases where a String is not returned (see here)

Let me know if you aren't interested in relaxing the version requirement soon-ish and I'll build a gem that I can run against for now.

eric commented

Also, thanks for the amazing turn-around on answering these questions. This project is amazing.

The messaging system is such an important infrastructure component for us, that we are super careful about changing anything. (We're still running redis 1.2.6 in production).

We plan to upgrade to newer versions of redis and redis.rb during summer, but we don't have time yet.

And once we've upgraded, we'll likely lock beetle to the new redis-rb version.

Sorry about the inconvenience.