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)
Released in 7.0.1.