redict/tests/unit
郭伟光 fae5b1a19d
unblockClient: avoid to reset client when the client was shutdown-blocked (#10440)
fix #10439. see https://github.com/redis/redis/pull/9872
When executing SHUTDOWN we pause the client so we can un-pause it
if the shutdown fails.
this could happen during the timeout, if the shutdown is aborted, but could
also happen from withing the initial `call()` to shutdown, if the rdb save fails.
in that case when we return to `call()`, we'll crash if `c->cmd` has been set to NULL.

The call stack is:
```
unblockClient(c)
replyToClientsBlockedOnShutdown()
cancelShutdown()
finishShutdown()
prepareForShutdown()
shutdownCommand()
```

what's special about SHUTDOWN in that respect is that it can be paused,
and then un-paused before the original `call()` returns.
tests where added for both failed shutdown, and a followup successful one.
2022-03-20 15:18:53 +02:00
..
moduleapi Restore ::singledb after cluster test (#10441) 2022-03-18 14:10:24 +02:00
type XREADGROUP: Unblock client if stream is deleted (#10306) 2022-03-08 17:10:36 +02:00
acl-v2.tcl make sort/ro commands validate external keys access patterns (#10106) (#10340) 2022-03-15 17:14:53 +02:00
acl.tcl Add tests for ACL command error cases (#10183) 2022-02-06 07:58:28 +02:00
aofrw.tcl Added AOF rewrite support for functions. (#10141) 2022-01-19 21:21:42 +02:00
auth.tcl Add AUTH arity test (#10266) 2022-02-09 22:09:20 +02:00
bitfield.tcl
bitops.tcl
client-eviction.tcl Introduce debug command to disable reply buffer resizing (#10360) 2022-03-01 14:40:29 +02:00
cluster.tcl Restore ::singledb after cluster test (#10441) 2022-03-18 14:10:24 +02:00
dump.tcl
expire.tcl sub-command support for ACL CAT and COMMAND LIST. redisCommand always stores fullname (#10127) 2022-01-23 10:05:06 +02:00
functions.tcl Fix wrong version calculation on Redis Function tests. (#10217) 2022-01-31 12:49:57 +02:00
geo.tcl Fix geo search bounding box check causing missing results (#10018) 2022-02-21 08:06:58 +02:00
hyperloglog.tcl
info-command.tcl Make INFO command variadic (#6891) 2022-02-08 13:14:42 +02:00
info.tcl Fix error stats and failed command stats for blocked clients (#10309) 2022-02-21 11:20:41 +02:00
introspection-2.tcl Sort out the mess around Lua error messages and error stats (#10329) 2022-02-27 13:40:57 +02:00
introspection.tcl set "disable-thp" config immutable (#10409) 2022-03-10 09:52:49 +02:00
keyspace.tcl Add external test that runs without debug command (#9964) 2021-12-19 17:41:51 +02:00
latency-monitor.tcl sub-command support for ACL CAT and COMMAND LIST. redisCommand always stores fullname (#10127) 2022-01-23 10:05:06 +02:00
lazyfree.tcl
limits.tcl
maxmemory.tcl Added INFO LATENCYSTATS section: latency by percentile distribution/latency by cumulative distribution of latencies (#9462) 2022-01-05 14:01:05 +02:00
memefficiency.tcl Fix typo "the the" (#10399) 2022-03-09 13:55:17 +02:00
multi.tcl Fix timing issue in EXEC fail on lazy expired WATCHed key test (#10332) 2022-02-23 08:47:16 +02:00
networking.tcl Protected configs and sensitive commands (#9920) 2021-12-19 10:46:16 +02:00
obuf-limits.tcl Added INFO LATENCYSTATS section: latency by percentile distribution/latency by cumulative distribution of latencies (#9462) 2022-01-05 14:01:05 +02:00
oom-score-adj.tcl Don't write oom score adj to proc unless we're managing it. (#9904) 2021-12-07 16:05:51 +02:00
other.tcl Fix timing issue in rehash test (#10388) 2022-03-07 13:44:07 +02:00
pause.tcl script should not allow may-replicate commands when client pause write (#10364) 2022-03-08 16:53:11 +02:00
pendingquerybuf.tcl Introduce memory management on cluster link buffers (#9774) 2021-12-16 21:56:59 -08:00
printver.tcl
protocol.tcl add test suite infra to test RESP3 attributes (#10247) 2022-02-07 00:10:05 +02:00
pubsub.tcl
pubsubshard.tcl Sharded pubsub implementation (#8621) 2022-01-02 16:54:47 -08:00
querybuf.tcl
quit.tcl
replybufsize.tcl Introduce debug command to disable reply buffer resizing (#10360) 2022-03-01 14:40:29 +02:00
scan.tcl
scripting.tcl Sort out the mess around Lua error messages and error stats (#10329) 2022-02-27 13:40:57 +02:00
shutdown.tcl unblockClient: avoid to reset client when the client was shutdown-blocked (#10440) 2022-03-20 15:18:53 +02:00
slowlog.tcl Redact ACL SETUSER arguments if the user has spaces (#9935) 2021-12-13 08:39:04 -08:00
sort.tcl
tls.tcl
tracking.tcl
violations.tcl Fix possible int overflow when hashing an sds. (#9916) 2021-12-13 21:16:25 +02:00
wait.tcl