Allow ECHO in loading and stale modes (#10853)
I noticed that scripting.tcl uses INFO from within a script and thought it's an overkill and concluded it's nicer to use another CMD_STALE command, decided to use ECHO, and then noticed it's not at all allowed in stale mode. probably overlooked at #6843
This commit is contained in:
parent
c65e5087e8
commit
ffa0077041
@ -7175,7 +7175,7 @@ struct redisCommand redisCommandTable[] = {
|
||||
/* connection */
|
||||
{"auth","Authenticate to the server","O(N) where N is the number of passwords defined for the user","1.0.0",CMD_DOC_NONE,NULL,NULL,COMMAND_GROUP_CONNECTION,AUTH_History,AUTH_tips,authCommand,-2,CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_FAST|CMD_NO_AUTH|CMD_SENTINEL|CMD_ALLOW_BUSY,ACL_CATEGORY_CONNECTION,.args=AUTH_Args},
|
||||
{"client","A container for client connection commands","Depends on subcommand.","2.4.0",CMD_DOC_NONE,NULL,NULL,COMMAND_GROUP_CONNECTION,CLIENT_History,CLIENT_tips,NULL,-2,CMD_SENTINEL,0,.subcommands=CLIENT_Subcommands},
|
||||
{"echo","Echo the given string","O(1)","1.0.0",CMD_DOC_NONE,NULL,NULL,COMMAND_GROUP_CONNECTION,ECHO_History,ECHO_tips,echoCommand,2,CMD_FAST,ACL_CATEGORY_CONNECTION,.args=ECHO_Args},
|
||||
{"echo","Echo the given string","O(1)","1.0.0",CMD_DOC_NONE,NULL,NULL,COMMAND_GROUP_CONNECTION,ECHO_History,ECHO_tips,echoCommand,2,CMD_LOADING|CMD_STALE|CMD_FAST,ACL_CATEGORY_CONNECTION,.args=ECHO_Args},
|
||||
{"hello","Handshake with Redis","O(1)","6.0.0",CMD_DOC_NONE,NULL,NULL,COMMAND_GROUP_CONNECTION,HELLO_History,HELLO_tips,helloCommand,-1,CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_FAST|CMD_NO_AUTH|CMD_SENTINEL|CMD_ALLOW_BUSY,ACL_CATEGORY_CONNECTION,.args=HELLO_Args},
|
||||
{"ping","Ping the server","O(1)","1.0.0",CMD_DOC_NONE,NULL,NULL,COMMAND_GROUP_CONNECTION,PING_History,PING_tips,pingCommand,-1,CMD_FAST|CMD_SENTINEL,ACL_CATEGORY_CONNECTION,.args=PING_Args},
|
||||
{"quit","Close the connection","O(1)","1.0.0",CMD_DOC_NONE,NULL,NULL,COMMAND_GROUP_CONNECTION,QUIT_History,QUIT_tips,quitCommand,-1,CMD_ALLOW_BUSY|CMD_NOSCRIPT|CMD_LOADING|CMD_STALE|CMD_FAST|CMD_NO_AUTH,ACL_CATEGORY_CONNECTION},
|
||||
|
@ -7,6 +7,8 @@
|
||||
"arity": 2,
|
||||
"function": "echoCommand",
|
||||
"command_flags": [
|
||||
"LOADING",
|
||||
"STALE",
|
||||
"FAST"
|
||||
],
|
||||
"acl_categories": [
|
||||
|
@ -1599,19 +1599,19 @@ start_server {tags {"scripting"}} {
|
||||
} 1 x
|
||||
}
|
||||
|
||||
assert_match {*redis_version*} [
|
||||
assert_match {foobar} [
|
||||
r eval {#!lua flags=allow-stale,no-writes
|
||||
return redis.call('info','server')
|
||||
return redis.call('echo','foobar')
|
||||
} 0
|
||||
]
|
||||
|
||||
# Test again with EVALSHA
|
||||
set sha [
|
||||
r script load {#!lua flags=allow-stale,no-writes
|
||||
return redis.call('info','server')
|
||||
return redis.call('echo','foobar')
|
||||
}
|
||||
]
|
||||
assert_match {*redis_version*} [r evalsha $sha 0]
|
||||
assert_match {foobar} [r evalsha $sha 0]
|
||||
|
||||
r replicaof no one
|
||||
r config set replica-serve-stale-data yes
|
||||
|
Loading…
x
Reference in New Issue
Block a user