Skip to content

Fix regression not aborting transaction on error, and re-edit some error responses#10612

Merged
oranagra merged 1 commit intoredis:unstablefrom
guybe7:module_arity
Apr 25, 2022
Merged

Fix regression not aborting transaction on error, and re-edit some error responses#10612
oranagra merged 1 commit intoredis:unstablefrom
guybe7:module_arity

Conversation

@guybe7
Copy link
Collaborator

@guybe7 guybe7 commented Apr 20, 2022

  1. Disk error and slave count checks didn't flag the transactions or counted correctly in command stats (regression from Add new RM_Call flags for script mode, no writes, and error replies. #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 #10127

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")
@oranagra
Copy link
Member

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.
considering that, i suppose there's no need to mention it again.

Copy link
Member

@oranagra oranagra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

@yossigo
Copy link
Collaborator

yossigo commented Apr 25, 2022

@oranagra I think this is follow up work indeed, but changed error reply messages should be mentioned in the release notes.

@oranagra oranagra added the release-notes indication that this issue needs to be mentioned in the release notes label Apr 25, 2022
@oranagra oranagra changed the title Fix minor issues with RM_Call and RM_WrongArity Fix regression not aborting transaction on error, and re-edit some error responses Apr 25, 2022
@oranagra oranagra merged commit df78776 into redis:unstable Apr 25, 2022
Copy link
Contributor

@enjoy-binbin enjoy-binbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't know why, but look like this commit will hang the daily test (corrupt-dump-fuzzer)

https://github.com/enjoy-binbin/redis/actions/runs/2219898136

@oranagra
Copy link
Member

here's the fix: #10639

oranagra added a commit that referenced this pull request Apr 25, 2022
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.
@oranagra oranagra mentioned this pull request Apr 27, 2022
enjoy-binbin pushed a commit to enjoy-binbin/redis that referenced this pull request Jul 31, 2023
…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
enjoy-binbin pushed a commit to enjoy-binbin/redis that referenced this pull request Jul 31, 2023
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-notes indication that this issue needs to be mentioned in the release notes

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants