-
Notifications
You must be signed in to change notification settings - Fork 652
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
[BUG] CLIENT REPLY OFF
in transaction handled incorrectly
#1268
Comments
I'd like to do a fix for that if you can give me some guidelines on which files/classes to start with and how to debug the server. |
Thanks for the report. The place to look (and start) is execCommand, we need to modify array len based on the client flags. During the looking, i have fixed and verified it locally. Let me know if you need more infomation or need me to take over. (btw, we need to fix this without affecting the performance of multi) |
ok, the fix may require some understanding and some tricks in the codebase, i don't want to waste the effort and waste your time, i am going to prepare the PR, you can do a review in that and get familiar the the codebase. |
Ok, this is more troublesome than I thought, like don't know how the client is supposed to read the response correctly. case 1
case 2
case 4
case 5
case 6
|
I honestly think we should just disable |
yean, this make sense to me. so we can reject multi when client is marked with reply off, and reject client reply when client is makred with multi. |
Describe the bug
Server returns malformed response.
Server replies with RESP array of declared size 6, but it contains only 2 elements: "before" and "after". That is correct to receive 2 elements, but size should be declared as 2.
Wireshark helps to track this.
In case if transaction is "reply off; ; reply on; end", received RESP array is empty, but declared size reflects the number of commands.
See Wireshark screenshot:
To reproduce
See above
Expected behavior
Declared RESP array lenght should be valid (match number of elements in it, regardless of real transaction size)
Additional information
A low priority issue.
CLI tool also fails to process the response. Use Wireshark to see what happens on the wire.
The text was updated successfully, but these errors were encountered: