-
Notifications
You must be signed in to change notification settings - Fork 23.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QUIT is a command, HOST: and POST are not #9798
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@redis/core-team please approve promoting the QUIT to a real command, and demoting HOST: and PORT.
no real change on behavior, but does affect COMMAND introspection and INFO commandstats.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I want to mention that QUIT
is actually an anti-pattern for TCP based protocols, where we'll always prefer the client to initiate the connection termination and handle TIME_WAIT
. Luckily, I don't think too many clients choose to actually use it.
I agree with this PR, but have some questions:
not sure if these changes have real effects. |
good catch, let's add regarding CLIENT_PAUSE_ALL, i think this is ok. |
thanks. actually i remembered that i saw it somewhere, so i should have search for it myself. |
Agree |
Some people complain that QUIT is missing from help/command table. Not appearing in COMMAND command, command stats, ACL, etc. and instead, there's a hack in processCommand with a comment that looks outdated. Note that it is [documented](https://redis.io/commands/quit) At the same time, HOST: and POST are there in the command table although these are not real commands. They would appear in the COMMAND command, and even in commandstats. Other changes: 1. Initialize the static logged_time static var in securityWarningCommand 2. add `no-auth` flag to RESET so it can always be executed.
In redis#9798, QUIT became a command. In redis-cli intercative mode, we will exit directly if we match quit. Instead of sending the QUIT command to redis server. Now in this PR, we will send the real QUIT command to the redis sever. Execute it as a real command.
Some people complain that QUIT is missing from help/command table.
Not appearing in COMMAND command, command stats, ACL, etc.
and instead, there's a hack in processCommand with a comment that looks outdated.
Note that it is documented
At the same time, HOST: and POST are there in the command table although these are not real commands.
They would appear in the COMMAND command, and even in commandstats.
Other changes:
no-auth
flag to RESET so it can always be executed.Fix #9793