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

Minor improvements to module blocked on keys #7903

Merged
merged 1 commit into from
Oct 12, 2020

Conversation

guybe7
Copy link
Collaborator

@guybe7 guybe7 commented Oct 12, 2020

Fix #7879 #7880

  1. Fix some comments
  2. Make sure blocked-on-keys client privdata is accessible
    from withing the timeout callback
  3. Handle blocked clients in beforeSleep - In case a key
    becomses "ready" outside of processCommand

Fix redis#7879 redis#7880

1. Fix some comments
2. Make sure blocked-on-keys client privdata is accessible
   from withing the timeout callback
3. Handle blocked clients in beforeSleep - In case a key
   becomses "ready" outside of processCommand
@oranagra oranagra changed the title Modules: Minor fixes Minor improvements to module blocked on keys Oct 12, 2020
@oranagra oranagra merged commit addf47d into redis:unstable Oct 12, 2020
oranagra pushed a commit to oranagra/redis that referenced this pull request Oct 26, 2020
- Clarify some documentation comments
- Make sure blocked-on-keys client privdata is accessible
  from withing the timeout callback
- Handle blocked clients in beforeSleep - In case a key
  becomes "ready" outside of processCommand

See redis#7879 redis#7880

(cherry picked from commit addf47d)
@oranagra oranagra mentioned this pull request Oct 26, 2020
oranagra pushed a commit to oranagra/redis that referenced this pull request Oct 26, 2020
- Clarify some documentation comments
- Make sure blocked-on-keys client privdata is accessible
  from withing the timeout callback
- Handle blocked clients in beforeSleep - In case a key
  becomes "ready" outside of processCommand

See redis#7879 redis#7880

(cherry picked from commit addf47d)
oranagra pushed a commit that referenced this pull request Oct 27, 2020
- Clarify some documentation comments
- Make sure blocked-on-keys client privdata is accessible
  from withing the timeout callback
- Handle blocked clients in beforeSleep - In case a key
  becomes "ready" outside of processCommand

See #7879 #7880

(cherry picked from commit addf47d)
JackieXie168 pushed a commit to JackieXie168/redis that referenced this pull request Nov 4, 2020
- Clarify some documentation comments
- Make sure blocked-on-keys client privdata is accessible
  from withing the timeout callback
- Handle blocked clients in beforeSleep - In case a key
  becomes "ready" outside of processCommand

See redis#7879 redis#7880
jschmieg pushed a commit to memKeyDB/memKeyDB that referenced this pull request Nov 6, 2020
- Clarify some documentation comments
- Make sure blocked-on-keys client privdata is accessible
  from withing the timeout callback
- Handle blocked clients in beforeSleep - In case a key
  becomes "ready" outside of processCommand

See redis#7879 redis#7880

(cherry picked from commit addf47d)
oranagra added a commit to oranagra/redis that referenced this pull request Nov 17, 2020
This is hopefully usually harmles.
The server.ready_keys will usually be empty so the code after releasing
the GIL will soon be done.
The only case where it'll actually process things is when a module
releases a client (or module) blocked on a key, by triggering this NOT
from within a command (e.g. a timer event).

This bug was introduced in redis 6.0.9, see redis#7903
oranagra added a commit that referenced this pull request Nov 22, 2020
This is hopefully usually harmles.
The server.ready_keys will usually be empty so the code after releasing
the GIL will soon be done.
The only case where it'll actually process things is when a module
releases a client (or module) blocked on a key, by triggering this NOT
from within a command (e.g. a timer event).

This bug was introduced in redis 6.0.9, see #7903
oranagra added a commit to oranagra/redis that referenced this pull request Jan 11, 2021
This is hopefully usually harmles.
The server.ready_keys will usually be empty so the code after releasing
the GIL will soon be done.
The only case where it'll actually process things is when a module
releases a client (or module) blocked on a key, by triggering this NOT
from within a command (e.g. a timer event).

This bug was introduced in redis 6.0.9, see redis#7903

(cherry picked from commit e6fa473)
oranagra added a commit that referenced this pull request Jan 12, 2021
This is hopefully usually harmles.
The server.ready_keys will usually be empty so the code after releasing
the GIL will soon be done.
The only case where it'll actually process things is when a module
releases a client (or module) blocked on a key, by triggering this NOT
from within a command (e.g. a timer event).

This bug was introduced in redis 6.0.9, see #7903

(cherry picked from commit e6fa473)
JackieXie168 pushed a commit to JackieXie168/redis that referenced this pull request Mar 2, 2021
This is hopefully usually harmles.
The server.ready_keys will usually be empty so the code after releasing
the GIL will soon be done.
The only case where it'll actually process things is when a module
releases a client (or module) blocked on a key, by triggering this NOT
from within a command (e.g. a timer event).

This bug was introduced in redis 6.0.9, see redis#7903
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.

[BUG] RedisModule_UnblockClient behaviour does not match the documentation
2 participants