Fix more edge cases in autopipelining when using redis cluster #1393
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.
Fixes #1392
This is a superset of the fixes in #1391
The other issue this PR fixes was that this was passing an array instead of a string to
cluster-key-slot when
args[0]
was an arrayHandle pathological cases such as redis.get([], ['key1', 'key2'])
by flattening the entire args array.
Prior to this PR, in the below example, the array was hashed instead of the first string in the array,
meaning that 'v{profile}1' and 'b' were incorrectly put in the same pipeline