Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatibility with Cashews Python Caching Library - "Subcommand ID not supported" Error #3666

Closed
TweedBeetle opened this issue Sep 6, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@TweedBeetle
Copy link

Description

When using Dragonfly as a drop-in replacement for Redis with the Cashews Python caching library, I'm encountering errors both in my Python application and in the Dragonfly container logs.

Python Application Error:

ERROR:cashews.backends.redis.client_side:redis client side: can not start listen task

Dragonfly Container Logs:

E20240906 19:27:24.971956    12 server_family.cc:1771] Subcommand ID not supported

Environment:

  • Dragonfly version: df-v1.22.0-67117ff081b60f28a49c4c5db383a62953f71f3e
  • Operating System: Sonoma 14.6.1 (23G93)

Steps to Reproduce:

  1. Set up Dragonfly in a Docker container
  2. Install Cashews Python caching library
  3. Configure Cashews to use Dragonfly as the backend
  4. Attempt to use Cashews for caching operations in a Python application

Expected Behavior:

Dragonfly should work as a drop-in replacement for Redis, allowing Cashews to perform caching operations without errors.

Actual Behavior:

  • The Python application fails to start the listen task for Redis client-side operations.
  • Dragonfly logs show repeated "Subcommand ID not supported" errors.

Additional Context:

This issue suggests that there might be some Redis commands or subcommands that Cashews is using which are not currently supported by Dragonfly. It would be helpful to identify these specific commands to either implement them in Dragonfly or find a workaround in Cashews.

Possible Solutions:

  1. Implement support for the missing subcommands in Dragonfly.
  2. Provide detailed documentation on any Redis commands not supported by Dragonfly, especially those commonly used by caching libraries.
  3. Consider adding a compatibility mode that gracefully handles unsupported commands without throwing errors.

Thank you for your attention to this issue. Let me know if you need any additional information or clarification.

@TweedBeetle TweedBeetle added the bug Something isn't working label Sep 6, 2024
@BorysTheDev
Copy link
Contributor

It looks that missing command is CLIENT ID.

@romange
Copy link
Collaborator

romange commented Sep 7, 2024

yes, it's duplicate of #3651

@adiholden
Copy link
Collaborator

client id command was added to dfly version 1.23.0
closing this issue now.
@TweedBeetle please let us know if you experience any other issue while using the Cashews Python library. Thank you

@TweedBeetle
Copy link
Author

Thank you, I appreciate it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants