django-cacheops: `redis.exceptions.ResponseError`: Wrong number of args calling Redis command From Lua script

After upgrading from version 6.2 to version 7.0, I get the following error:

redis.exceptions.ResponseError: Error running script (call to f_1880dea5c524f6a37a650f715fa630416a2fe1fd): @user_script:50: @user_script: 50: Wrong number of args calling Redis command From Lua script
Traceback
Mar 23 11:20:41 ERROR   django.request - 500 Internal Server Error: /admin-dashboard/
Traceback (most recent call last):
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
  response = get_response(request)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/integreat_cms/core/middleware/region_middleware.py", line 36, in __call__
  request.region_selection = self.get_region_selection(request)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/integreat_cms/core/middleware/region_middleware.py", line 71, in get_region_selection
  if not request.user.is_authenticated:
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/utils/functional.py", line 246, in inner
  self._setup()
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/utils/functional.py", line 382, in _setup
  self._wrapped = self._setupfunc()
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/contrib/auth/middleware.py", line 23, in <lambda>
  request.user = SimpleLazyObject(lambda: get_user(request))
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/contrib/auth/middleware.py", line 11, in get_user
  request._cached_user = auth.get_user(request)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/contrib/auth/__init__.py", line 184, in get_user
  user = backend.get_user(user_id)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/contrib/auth/backends.py", line 157, in get_user
  user = UserModel._default_manager.get(pk=user_id)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/db/models/manager.py", line 85, in manager_method
  return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/cacheops/query.py", line 327, in get
  return qs._no_monkey.get(qs, *args, **kwargs)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/db/models/query.py", line 431, in get
  num = len(clone)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/db/models/query.py", line 262, in __len__
  self._fetch_all()
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/cacheops/query.py", line 261, in _fetch_all
  self._cache_results(cache_key, self._result_cache)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/cacheops/query.py", line 179, in _cache_results
  cache_thing(self._prefix, cache_key, results,
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/funcy/decorators.py", line 45, in wrapper
  return deco(call, *dargs, **dkwargs)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/cacheops/redis.py", line 16, in handle_connection_failure
  return call()
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/funcy/decorators.py", line 66, in __call__
  return self._func(*self._args, **self._kwargs)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/cacheops/getset.py", line 44, in cache_thing
  load_script('cache_thing')(
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/commands/core.py", line 5794, in __call__
  return client.evalsha(self.sha, len(keys), *args)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/commands/core.py", line 5181, in evalsha
  return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/commands/core.py", line 5165, in _evalsha
  return self.execute_command(command, sha, numkeys, *keys_and_args)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/client.py", line 1258, in execute_command
  return conn.retry.call_with_retry(
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/retry.py", line 46, in call_with_retry
  return do()
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/client.py", line 1259, in <lambda>
  lambda: self._send_command_parse_response(
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/client.py", line 1235, in _send_command_parse_response
  return self.parse_response(conn, command_name, **options)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/client.py", line 1275, in parse_response
  response = connection.read_response()
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/redis/connection.py", line 957, in read_response
  raise response
redis.exceptions.ResponseError: Error running script (call to f_1880dea5c524f6a37a650f715fa630416a2fe1fd): @user_script:50: @user_script: 50: Wrong number of args calling Redis command From Lua script

Django version: 3.2.18 Python version: 3.9.2 redis-py version: 4.5.1 Redis server version: Redis server v=6.0.16 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=6d95e1af3a2c082a OS: Debian GNU/Linux 11 (bullseye) Cache settings: https://github.com/digitalfabrik/integreat-cms/blob/f156e64a236592b470e68de96a3ee87107e74b2e/integreat_cms/core/settings.py#L858-L900 Query causing the error: https://github.com/digitalfabrik/integreat-cms/blob/f156e64a236592b470e68de96a3ee87107e74b2e/integreat_cms/core/middleware/region_middleware.py#L71

If I can provide more details or can do anything to help fixing the issue, let me know.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 17 (10 by maintainers)

Most upvoted comments

Released in 7.0.1.