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

Rework PubSub and fix race conditions #27

Merged
merged 17 commits into from
Dec 14, 2023
Merged

Rework PubSub and fix race conditions #27

merged 17 commits into from
Dec 14, 2023

Conversation

DriverX
Copy link
Owner

@DriverX DriverX commented Dec 6, 2023

  • add aioredis_cluster.aioredis.stream module
  • rework PubSub command execution flow for prevent race conditions on spontaneously server channels unsubscribe push
  • make fully dedicated RedisConnection implementation for cluster
  • RedisConnection once entered in PubSub mode was never exit in them, because is too hard handle spontaneously unsubscribe events from Redis with simultaneously (P|S)UNSUBSCRIBE manually calls
  • add key slot handling for sharded PubSub channels
  • fix and improve legacy aioredis tests
  • more tests

Anton Ilyushenkov added 17 commits December 6, 2023 12:07
- add aioredis_cluster.aioredis.stream module
- rework PubSub command execution flow for prevent race conditions on
  spontaneously server channels unsubscribe push
- make fully dedicated RedisConnection implementation for cluster
- add key slot handling for sharded PubSub channels
- fix and improve legacy aioredis tests
- more tests
…ted channels for Cluster, Pool, RedisConnections
…ted channels for Cluster, Pool, RedisConnections
@DriverX DriverX changed the title Rework and fix PubSub race conditions Rework PubSub and fix race conditions Dec 13, 2023
@DriverX DriverX merged commit f597f81 into master Dec 14, 2023
29 checks passed
@DriverX DriverX deleted the rework_pubsub branch December 14, 2023 12:15
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.

1 participant