This version mainly adds support for dynamic reconfiguration and more probes for addressing performance problem.
Configuration
Support CONFIG command. Usage:
CONFIG SET option value # Dynamically setting option, only support `node`, `loglevel`, and `slowlog-log-slower-than` now.
CONFIG GET option
CONFIG REWRITE # Update configuration file
Also, thanks to @jasonjoo2010, we can now specify config options in command line. Invoke corvus without any option for more details.
Slowlog Enhancement
An additional field total_latency is added in every slowlog entry. Now it contains:
Entry id
Timestamp
Remote latency (from sending command to redis to receiving response from redis)
Total latency (from receiving request from client to responding to client)
Command details
For the multi-key commands(MGET, MSET, DEL, EXISTS), besides logging slowlog of the themselves, this version will also store its slowest sub-command (in terms of remote latency) with another id but the same total latency.
Count ASK & MOVED
The counts of ASK and MOVED received by corvus can be queried by INFO command.
SELECT Command
Reported by @tremez, some clients will send SELECT first before sending request which corvus doesn't support in previous versions.
Related Pull Requests
Some fixes for the bugs introduced by the new features are omitted.
Features
95 Add command config set node.
100 Support specifying configuration by command option.
102 Add total latency to slowlog and record the slowest sub command.
104 Add command config rewrite.
107 Add statistic for redirection.
109 Reload node map after changing 'node' in config.
115 Add support for SELECT command.
Bugs Fixes
103 Fix empty waiting_queue warning.
Note that this is a workaround. And server_timeout of corvus should be less than the client timeout of redis.
108 Don't clear 'remotes' field from 'INFO' command during updating slot map.
This version mainly adds support for dynamic reconfiguration and more probes for addressing performance problem.
Configuration
Support
CONFIG
command. Usage:Also, thanks to @jasonjoo2010, we can now specify config options in command line. Invoke corvus without any option for more details.
Slowlog Enhancement
An additional field
total_latency
is added in every slowlog entry. Now it contains:For the multi-key commands(MGET, MSET, DEL, EXISTS), besides logging slowlog of the themselves, this version will also store its slowest sub-command (in terms of remote latency) with another id but the same
total latency
.Count ASK & MOVED
The counts of ASK and MOVED received by corvus can be queried by
INFO
command.SELECT Command
Reported by @tremez, some clients will send
SELECT
first before sending request which corvus doesn't support in previous versions.Related Pull Requests
Some fixes for the bugs introduced by the new features are omitted.
Features
95 Add command
config set node
.100 Support specifying configuration by command option.
102 Add total latency to slowlog and record the slowest sub command.
104 Add command
config rewrite
.107 Add statistic for redirection.
109 Reload node map after changing 'node' in config.
115 Add support for SELECT command.
Bugs Fixes
103 Fix empty waiting_queue warning.
Note that this is a workaround. And server_timeout of corvus should be less than the client timeout of redis.
108 Don't clear 'remotes' field from 'INFO' command during updating slot map.