resque: Unknown keyword: thread_safe with redis 5.0.1

The redis gem just had a new breaking release which seems to cause this to fail.

      Failure/Error: Resque.redis.del "queue:default"

      ArgumentError:
        unknown keyword: thread_safe

Maybe we need to pin the redis dependency here to < 5 https://github.com/resque/redis-namespace/blob/master/redis-namespace.gemspec#L30

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 2
  • Comments: 19 (8 by maintainers)

Most upvoted comments

I fixed the remaining outstanding issues in https://github.com/resque/resque/pull/1828, the test suite is now green with 5.0 and 4.8.

Yeah I just checked and can confirm @casperisfine is correct… redis has been thead_safe: true by default since 2.2.0. We can safely remove that option. If someone beats me to a PR for it, I’ll get a patch release out today for resque.

That said, I haven’t tested this against redis 5.0 since it just came out a few hours ago and it looks like there potentially other breaking changes. I’d prefer to not pin to < 5 if we can avoid it but depending on how ugly this is we may not have a choice. There’s also a deprecation warning in #1820 that we probably need to fix for Redis 5 compatibility.

Honestly I looked a bit more, and Resque assumes a bunch of things on Redis internal in several places. So short term locking to redis 4.x is likely preferable.

Would be easier to remove the thread_safe options here: https://github.com/resque/resque/blob/ba5a44294ba5f6c4593deb78612f78989445d83e/lib/resque.rb#L123

Which is a noop since over a decade.