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

When client tracking is on, invalidation message of flushdb in a transaction #11038

Merged
merged 1 commit into from Jul 26, 2022

Conversation

huangzhw
Copy link
Collaborator

@huangzhw huangzhw commented Jul 26, 2022

When FLUSHDB / FLUSHALL / SWAPDB is inside MULTI / EXEC, the client side tracking invalidation message was interleaved with transaction response causing broken protocol.

Fix #8935

transaction is interleaved with transaction response.
@oranagra oranagra added the release-notes indication that this issue needs to be mentioned in the release notes label Jul 26, 2022
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.

thanks

@oranagra oranagra merged commit 6f0a27e into redis:unstable Jul 26, 2022
@huangzhw huangzhw deleted the tracking branch July 26, 2022 11:08
@hurley25
Copy link

hurley25 commented Jul 31, 2022

@huangzhw after this, brings another problem...

127.0.0.1:6379> SUBSCRIBE __redis__:invalidate
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "__redis__:invalidate"
3) (integer) 1
1) "message"
2) "__redis__:invalidate"
3) 1) "$-1\r\n"

Parameter proto must be recorded, sendTrackingMessage() in trackingHandlePendingKeyInvalidations() need to use it (currently, the default is 0)

@huangzhw
Copy link
Collaborator Author

@hurley25 Yes, you are right, my mistake. Thanks.

@huangzhw
Copy link
Collaborator Author

@hurley25 #11068 fix this. Can you review it?

@oranagra oranagra changed the title When client tracking is on, invalidation message of flushdb in a When client tracking is on, invalidation message of flushdb in a transaction Aug 22, 2022
oranagra pushed a commit to oranagra/redis that referenced this pull request Sep 21, 2022
…is#11038)

When FLUSHDB / FLUSHALL / SWAPDB is inside MULTI / EXEC, the
client side tracking invalidation message was interleaved with transaction response.


(cherry picked from commit 6f0a27e)
@oranagra oranagra mentioned this pull request Sep 21, 2022
oranagra pushed a commit that referenced this pull request Sep 21, 2022
)

When FLUSHDB / FLUSHALL / SWAPDB is inside MULTI / EXEC, the
client side tracking invalidation message was interleaved with transaction response.


(cherry picked from commit 6f0a27e)
oranagra pushed a commit to oranagra/redis that referenced this pull request Dec 11, 2022
…is#11038)

When FLUSHDB / FLUSHALL / SWAPDB is inside MULTI / EXEC, the
client side tracking invalidation message was interleaved with transaction response.

(cherry picked from commit 6f0a27e)
@oranagra oranagra mentioned this pull request Dec 11, 2022
oranagra pushed a commit that referenced this pull request Dec 12, 2022
)

When FLUSHDB / FLUSHALL / SWAPDB is inside MULTI / EXEC, the
client side tracking invalidation message was interleaved with transaction response.

(cherry picked from commit 6f0a27e)
Mixficsol pushed a commit to Mixficsol/redis that referenced this pull request Apr 12, 2023
…is#11038)

When FLUSHDB / FLUSHALL / SWAPDB is inside MULTI / EXEC, the
client side tracking invalidation message was interleaved with transaction response.
enjoy-binbin pushed a commit to enjoy-binbin/redis that referenced this pull request Jul 31, 2023
…is#11038)

When FLUSHDB / FLUSHALL / SWAPDB is inside MULTI / EXEC, the
client side tracking invalidation message was interleaved with transaction response.
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
Status: Done
Development

Successfully merging this pull request may close these issues.

Expiration based invalidation PUSH messages sometimes embedded within other replies.
3 participants