fix the gaps in blocking commands within transaction and fix paring o… #36
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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