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

fix the gaps in blocking commands within transaction and fix paring o… #36

Merged
merged 7 commits into from
Oct 8, 2024

Conversation

dinesh-murugiah
Copy link
Collaborator

@dinesh-murugiah dinesh-murugiah commented Sep 27, 2024

Fixed the following

Fix for crash when giving publish command when in subscribed mode -- Important

When Giving streams command within transaction the key index was not choose correct for some stream commands like xgroup , xinfo , if it was first command -- Important

when parsing stream commands to check if it has block option , we were checking in correctly at only fixed offsets for BLOCK key word , while the BLOCK can be present at any offset before the STREAMS key word , This is fixed. - Important

For the transaction commands
all the blocking commands are now allowed in to transaction , as the redis itself takes care of converting it in to non blocking
mset and mget are added , as cross slot errors are handled by redis itself
To maintain atomicity of the transaction , if any of the unsupported commands are given at the middle of a valid transaction , when exec command is given at the last its replaced with DISCARD command, so that the transaction is discared , and also the response for DISCARD is just ok , this is unacceptable , so thats also caught and converted to proper error message. - On Need Basis

But still many commands which is handled before transaction iteself is left untouched and they are considered to be not supported within transaction - On Need Basis

Copy link
Collaborator

@pratheep-kumar pratheep-kumar left a comment

Choose a reason for hiding this comment

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

LGTM

@pratheep-kumar pratheep-kumar merged commit a851190 into v1.28.0-dbaas Oct 8, 2024
1 check passed
pratheep-kumar pushed a commit that referenced this pull request Oct 9, 2024
#36)

* fix the gaps in blocking commands within transaction and fix paring of block option for streams command

* fix keyindex for transaction

* fix key index for eval commands within transaction

* fix wrong number of arguments for subscription commands

* clean up the if elase for handling commands with no arguments

* add client remote ip in log when errenous command executed

* Add support for copy command

---------

Co-authored-by: suryadeepr <[email protected]>
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.

3 participants