Skip to content

Conversation

@emyfops
Copy link
Contributor

@emyfops emyfops commented Apr 27, 2025

I've bumped into issues when attempting to use gets and gats with a memcache compatible facade for DragonFly

They did not fully implement the basic text protocol have in some cases changed the behavior of some commands
After further researching, I've found that the get and gat commands can return more than just one key and decided to add a simple condition in Gets and GetsAndTouch to specify whether the user wants to use CAS commands

I've made sure that this change would not break existing codebases but more testing would be great

https://docs.memcached.org/protocols/basic/#get

@yeqown
Copy link
Owner

yeqown commented Apr 29, 2025

could you provides tcp packets to help me analyzing?

In this PR the API signature changed which breaks, and I wonder how the Dragonfly implying the protocol? If they have a different spec, maybe we should make new API for this.

@emyfops
Copy link
Contributor Author

emyfops commented Apr 29, 2025

For the moment, dragonfly does not support CAS commands including gets and gats
This is an error on their behalf and will change their documentation accordingly
We don't know when these commands will be supported

Maybe it's not a good idea to add a single argument for this edge case, tell me what you think

@yeqown
Copy link
Owner

yeqown commented May 3, 2025

Yes, we'd better not change the present API

@emyfops emyfops closed this May 3, 2025
@emyfops
Copy link
Contributor Author

emyfops commented May 11, 2025

@yeqown this issue should've been fixed in this dragonflydb/dragonfly#5087

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants