Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
8caa2714
Commit
8caa2714
authored
Mar 25, 2020
by
antirez
Browse files
Explain why we allow transactions in -BUSY state.
Related to #7022.
parent
e43cd831
Changes
1
Show whitespace changes
Inline
Side-by-side
src/server.c
View file @
8caa2714
...
@@ -3548,12 +3548,19 @@ int processCommand(client *c) {
...
@@ -3548,12 +3548,19 @@ int processCommand(client *c) {
return
C_OK
;
return
C_OK
;
}
}
/* Lua script too slow? Only allow a limited number of commands. */
/* Lua script too slow? Only allow a limited number of commands.
* Note that we need to allow the transactions commands, otherwise clients
* sending a transaction with pipelining without error checking, may have
* the MULTI plus a few initial commands refused, then the timeout
* condition resolves, and the bottom-half of the transaction gets
* executed, see Github PR #7022. */
if
(
server
.
lua_timedout
&&
if
(
server
.
lua_timedout
&&
c
->
cmd
->
proc
!=
authCommand
&&
c
->
cmd
->
proc
!=
authCommand
&&
c
->
cmd
->
proc
!=
helloCommand
&&
c
->
cmd
->
proc
!=
helloCommand
&&
c
->
cmd
->
proc
!=
replconfCommand
&&
c
->
cmd
->
proc
!=
replconfCommand
&&
c
->
cmd
->
proc
!=
multiCommand
&&
c
->
cmd
->
proc
!=
execCommand
&&
c
->
cmd
->
proc
!=
discardCommand
&&
c
->
cmd
->
proc
!=
multiCommand
&&
c
->
cmd
->
proc
!=
execCommand
&&
c
->
cmd
->
proc
!=
discardCommand
&&
!
(
c
->
cmd
->
proc
==
shutdownCommand
&&
!
(
c
->
cmd
->
proc
==
shutdownCommand
&&
c
->
argc
==
2
&&
c
->
argc
==
2
&&
tolower
(((
char
*
)
c
->
argv
[
1
]
->
ptr
)[
0
])
==
'n'
)
&&
tolower
(((
char
*
)
c
->
argv
[
1
]
->
ptr
)[
0
])
==
'n'
)
&&
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment