Fix regression not aborting transaction on error, and re-edit some error responses#10612
Fix regression not aborting transaction on error, and re-edit some error responses#10612oranagra merged 1 commit intoredis:unstablefrom
Conversation
1. RM_Call will reply the same way Redis does, in case of non-exisitng command or arity error 2. RM_WrongArtiy will consider the full command name Other changes: 1. Use lowercase 'u' in "unknonw subcommand" (to align with "unknown command")
|
This is a followup work of #10127, which is part of redis 7.0, and at the time was approved as a major decision and marked for release notes. |
oranagra
left a comment
There was a problem hiding this comment.
@yossigo please tell me if you think this should be a major decision (i'm considering it's a followup work before the GA i'm leaning towards, no).
and please tell me which of these do you think should be on the release notes, if any.
|
@oranagra I think this is follow up work indeed, but changed error reply messages should be mentioned in the release notes. |
enjoy-binbin
left a comment
There was a problem hiding this comment.
don't know why, but look like this commit will hang the daily test (corrupt-dump-fuzzer)
|
here's the fix: #10639 |
A change in #10612 introduced a regression. when replying with garbage bytes to the caller, we must make sure it doesn't include any newlines. in the past it called rejectCommandFormat which did that trick. but now it calls rejectCommandSds, which doesn't, so we need to make sure to sanitize the sds.
…ror responses (redis#10612) 1. Disk error and slave count checks didn't flag the transactions or counted correctly in command stats (regression from redis#10372 , 7.0 RC3) 2. RM_Call will reply the same way Redis does, in case of non-exisitng command or arity error 3. RM_WrongArtiy will consider the full command name 4. Use lowercase 'u' in "unknonw subcommand" (to align with "unknown command") Followup work of redis#10127
A change in redis#10612 introduced a regression. when replying with garbage bytes to the caller, we must make sure it doesn't include any newlines. in the past it called rejectCommandFormat which did that trick. but now it calls rejectCommandSds, which doesn't, so we need to make sure to sanitize the sds.
Followup work of #10127