Matt Stancliff
c5b960f5a0
Fix blocking operations from missing new lists
...
Behrad Zari discovered [1] and Josiah reported [2]: if you block
and wait for a list to exist, but the list creates from
a non-push command, the blocked client never gets notified.
This commit adds notification of blocked clients into
the DB layer and away from individual commands.
Lists can be created by [LR]PUSH, SORT..STORE, RENAME, MOVE,
and RESTORE. Previously, blocked client notifications were
only triggered by [LR]PUSH. Your client would never get
notified if a list were created by SORT..STORE or RENAME or
a RESTORE, etc.
Blocked client notification now happens in one unified place:
- dbAdd() triggers notification when adding a list to the DB
Two new tests are added that fail prior to this commit.
All test pass.
Fixes #1668
[1]: https://groups.google.com/forum/#!topic/redis-db/k4oWfMkN1NU
[2]: #1668
2014-05-21 09:52:52 -04:00
..
2012-04-13 17:52:33 -07:00
2013-01-19 10:59:44 +01:00
2012-11-08 18:31:32 +01:00
2013-12-05 16:35:32 +01:00
2013-06-28 16:39:49 +02:00
2013-06-28 16:39:49 +02:00
2013-06-28 16:39:49 +02:00
2013-06-28 16:39:49 +02:00
2013-06-28 16:39:49 +02:00
2014-04-24 17:03:07 +02:00
2014-03-04 17:36:45 -05:00
2014-04-28 17:36:57 +02:00
2012-11-08 18:31:32 +01:00
2013-01-19 10:59:44 +01:00
2012-11-22 10:12:11 +01:00
2014-03-30 18:32:17 +02:00
2013-12-04 16:20:03 +01:00
2014-05-15 17:03:28 +02:00
2014-03-27 15:01:24 +01:00
2014-04-15 17:46:51 +02:00
2014-05-07 16:12:32 +02:00
2013-01-19 10:59:44 +01:00
2012-04-09 12:20:47 +02:00
2012-11-29 14:20:08 +01:00
2014-05-21 09:52:52 -04:00
2014-05-09 15:02:29 +02:00
2014-03-20 15:50:46 +01:00
2014-03-20 15:50:46 +01:00
2012-02-14 16:11:46 +01:00
2013-09-25 09:26:36 +02:00
2013-05-17 17:19:02 +09:00
2014-04-22 16:14:38 +02:00
2014-05-18 07:26:26 -07:00
2012-11-08 18:31:32 +01:00
2012-11-08 18:31:32 +01:00
2010-07-01 14:38:51 +02:00
2010-07-01 14:38:51 +02:00
2010-07-01 14:38:51 +02:00
2013-01-19 10:59:44 +01:00
2014-03-28 12:11:55 +01:00
2014-03-31 19:51:34 +02:00
2013-01-21 12:34:22 +01:00
2013-02-24 18:17:46 +01:00
2013-03-26 10:58:10 +01:00
2014-04-28 17:36:57 +02:00
2014-01-08 17:18:34 +01:00
2014-05-07 17:05:09 +02:00
2013-08-19 15:01:21 +02:00
2012-11-08 18:31:32 +01:00
2014-03-20 16:20:37 +01:00
2012-11-08 18:31:32 +01:00
2012-11-08 18:31:32 +01:00
2014-05-12 11:48:14 +02:00
2013-01-19 10:59:44 +01:00
2013-10-28 18:13:42 +01:00
2012-11-08 18:31:32 +01:00
2013-12-05 16:35:32 +01:00
2014-03-13 15:11:08 +01:00
2014-05-21 12:15:06 +02:00
2014-05-12 10:01:59 +02:00
2014-05-21 09:52:52 -04:00
2013-08-19 15:01:21 +02:00
2013-01-19 10:59:44 +01:00
2014-04-28 17:36:57 +02:00
2014-01-22 09:54:55 +01:00
2013-07-16 15:43:36 +02:00
2014-05-20 16:15:13 +02:00
2014-04-28 16:38:17 +02:00
2014-04-28 16:55:43 +02:00
2014-05-20 14:22:42 +02:00
2013-02-27 11:50:35 +01:00
2013-01-19 10:59:44 +01:00
2010-07-01 14:38:51 +02:00
2013-07-22 10:31:38 +02:00
2012-11-08 18:31:32 +01:00
2012-11-08 18:31:32 +01:00
2014-03-10 16:28:18 +01:00
2012-05-02 22:41:50 +02:00
2013-11-05 15:47:50 +01:00
2014-05-21 09:52:52 -04:00
2013-12-13 11:34:21 +01:00
2014-03-30 18:32:17 +02:00
2014-04-18 13:01:04 +02:00
2012-11-08 18:31:32 +01:00
2014-04-23 12:07:25 +02:00
2013-07-02 12:08:07 +02:00
2011-07-06 15:22:00 +02:00
2013-05-27 11:44:04 +02:00
2013-08-19 15:01:21 +02:00
2012-11-08 18:31:32 +01:00
2013-12-05 16:35:32 +01:00
2013-09-03 15:15:51 +02:00
2014-03-24 12:00:20 +01:00
2014-03-24 12:00:20 +01:00