guybe7
e58118cda6
Fix edge-case when a module client is unblocked ( #8618 )
...
Scenario:
1. A module client is blocked on keys with a timeout
2. Shortly before the timeout expires, the key is being populated and signaled
as ready
3. Redis calls moduleTryServeClientBlockedOnKey (which replies to client) and
then moduleUnblockClient
4. moduleUnblockClient doesn't really unblock the client, it writes to
server.module_blocked_pipe and only marks the BC as unblocked.
5. beforeSleep kics in, by this time the client still exists and techincally
timed-out. beforeSleep replies to the timeout client (double reply) and
only then moduleHandleBlockedClients is called, reading from module_blocked_pipe
and calling unblockClient
The solution is similar to what was done in moduleTryServeClientBlockedOnKey: we
should avoid re-processing an already-unblocked client
2021-03-08 19:00:19 +02:00
..
2021-01-20 11:47:06 +02:00
2012-04-13 17:52:33 -07:00
2021-02-25 21:00:27 -08:00
2020-11-09 21:48:56 -08:00
2020-04-08 12:55:57 +02:00
2021-01-19 22:57:30 +02:00
2021-01-19 22:57:30 +02:00
2021-01-19 22:57:30 +02:00
2016-06-07 16:46:00 -04:00
2021-01-19 22:57:30 +02:00
2020-08-28 11:54:10 +03:00
2021-01-28 12:09:11 +02:00
2021-01-28 12:09:11 +02:00
2021-02-16 16:06:51 +02:00
2020-03-07 19:38:27 +08:00
2020-12-13 17:09:54 +02:00
2020-12-23 19:13:12 -08:00
2020-12-23 19:13:12 -08:00
2020-12-23 19:06:25 -08:00
2021-01-29 15:38:30 +02:00
2021-02-17 12:30:29 +02:00
2021-02-07 12:36:56 +02:00
2021-02-07 12:36:56 +02:00
2021-03-01 16:04:44 +02:00
2021-01-13 12:36:03 -08:00
2021-03-05 09:54:34 -08:00
2021-02-23 12:57:45 +02:00
2021-03-01 08:18:14 +02:00
2020-10-28 21:13:44 +02:00
2020-03-22 14:42:03 +02:00
2019-03-01 17:53:14 +01:00
2015-07-26 15:17:18 +02:00
2021-01-09 19:52:42 +02:00
2020-04-24 17:00:03 -07:00
2021-01-05 09:15:10 +02:00
2020-04-24 17:11:21 -07:00
2021-03-01 07:54:52 +02:00
2021-03-01 08:15:26 +02:00
2020-12-21 22:57:45 -08:00
2021-02-08 09:29:32 -08:00
2021-02-20 12:56:30 +02:00
2021-02-20 12:56:30 +02:00
2020-09-10 13:43:38 +03:00
2018-07-03 18:19:46 +02:00
2021-02-08 09:29:32 -08:00
2021-02-21 09:09:54 +02:00
2021-02-23 12:57:45 +02:00
2021-02-04 18:08:35 +02:00
2015-07-26 15:17:18 +02:00
2021-02-04 18:08:35 +02:00
2021-02-04 18:08:35 +02:00
2020-04-09 17:48:29 +08:00
2020-12-12 02:21:05 +02:00
2019-02-24 21:38:15 +01:00
2021-02-22 15:48:17 +02:00
2020-12-23 19:06:25 -08:00
2021-01-09 19:52:42 +02:00
2020-12-06 14:54:34 +02:00
2021-01-04 17:02:57 +02:00
2020-10-27 15:04:18 +02:00
2021-01-15 15:32:58 +02:00
2021-02-16 16:17:38 +02:00
2021-02-16 16:17:38 +02:00
2021-02-16 16:17:38 +02:00
2018-09-18 17:04:00 +08:00
2021-02-24 10:10:02 +02:00
2019-10-28 11:10:58 +01:00
2020-09-10 13:43:38 +03:00
2020-05-05 23:35:08 -04:00
2015-01-02 11:16:10 -05:00
2020-12-06 14:54:34 +02:00
2014-06-26 18:48:40 +02:00
2020-09-10 13:43:38 +03:00
2021-02-24 10:10:02 +02:00
2020-09-29 15:52:13 +03:00
2019-11-19 17:23:47 +08:00
2021-03-08 19:00:19 +02:00
2020-08-28 11:54:10 +03:00
2020-08-28 11:54:10 +03:00
2020-12-23 15:52:07 +02:00
2020-12-23 15:52:07 +02:00
2021-01-04 14:48:28 +02:00
2021-02-21 11:22:36 +02:00
2020-09-10 13:43:38 +03:00
2021-02-09 11:52:28 -08:00
2014-06-26 18:48:40 +02:00
2012-11-08 18:31:32 +01:00
2021-02-28 14:11:18 +02:00
2021-03-04 13:12:00 +02:00
2020-09-10 13:43:38 +03:00
2014-08-08 10:05:32 +02:00
2012-11-08 18:31:32 +01:00
2017-03-27 16:37:22 +02:00
2021-01-09 19:52:42 +02:00
2020-09-10 13:43:38 +03:00
2021-03-02 09:39:37 +02:00
2021-02-08 09:29:32 -08:00
2021-03-05 09:29:52 -08:00
2019-05-08 12:13:45 +01:00
2020-12-23 15:52:07 +02:00
2021-03-08 12:57:27 +02:00
2018-07-13 10:51:58 +02:00
2020-12-06 14:54:34 +02:00
2021-03-04 13:02:23 +02:00
2019-10-02 11:30:20 +02:00
2021-02-21 11:22:36 +02:00
2020-07-24 14:40:19 +08:00
2019-10-07 21:06:30 +03:00
2021-02-24 08:45:13 -08:00
2021-02-22 15:41:32 +02:00
2021-01-28 18:17:39 +02:00
2020-12-06 14:54:34 +02:00
2021-03-05 09:32:11 -08:00
2021-03-07 18:09:12 +02:00
2021-03-05 09:54:34 -08:00
2020-10-25 14:14:05 +02:00
2021-02-23 12:57:45 +02:00
2015-04-27 12:07:49 +02:00
2015-04-27 12:07:49 +02:00
2019-09-12 12:21:37 +02:00
2019-09-12 12:21:37 +02:00
2020-09-10 13:43:38 +03:00
2021-01-04 17:02:57 +02:00
2019-12-02 00:28:41 -05:00
2015-01-09 11:23:22 +01:00
2021-01-04 10:28:47 +02:00
2020-09-10 13:43:38 +03:00
2014-07-02 16:31:22 +02:00
2021-01-28 16:19:43 +02:00
2015-08-06 18:12:20 +02:00
2021-02-22 15:00:59 +02:00
2021-02-16 13:01:14 +02:00
2021-02-22 15:00:59 +02:00
2021-03-01 17:23:29 +02:00
2021-02-22 08:45:26 +02:00
2021-02-22 15:00:59 +02:00
2020-12-21 22:57:45 -08:00
2020-07-21 08:13:05 +03:00
2021-03-03 10:08:06 +02:00
2021-02-21 09:34:46 +02:00
2021-02-15 17:08:53 +02:00
2021-02-15 17:08:53 +02:00
2020-12-06 14:54:34 +02:00
2020-10-11 17:21:58 +03:00
2021-02-16 13:01:14 +02:00
2021-02-16 13:01:14 +02:00
2020-12-06 14:54:34 +02:00
2020-12-06 14:54:34 +02:00
2021-02-25 09:24:41 +02:00
2021-03-07 14:14:23 +02:00