Skip to content

Releases: eleme/corvus

v0.2.7

11 Sep 06:39
Compare
Choose a tag to compare

This version is mainly for:

  • Crash fix in SLOWLOG #129
  • Compatibility support for the new format of CLUSTER NODES, which makes corvus be able to work with Redis 4.0 now #124 . Note that corvus still does not support new commands introduced in redis 3.2 and redis 4.

Build

Download the corvus-0.2.7.tar.bz2 and run the following command.

$ tar xjf corvus-0.2.7.tar.bz2 && cd corvus-0.2.7
$ make deps && make

Then you can find corvus binary in src/

v0.2.6

09 May 06:35
Compare
Choose a tag to compare

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.

0.2.5.1

02 Dec 08:15
Compare
Choose a tag to compare

#98 Fix dead loop

v0.2.5

31 Oct 02:41
Compare
Choose a tag to compare

#86 Randomly pick up the node used to update slots
#88 Fix duplicate client_eof caused by connection timeout
#87 Support slowlog command
#90 Add cluster name, pid, port to log
#91 Send slow command to statsd
#92 Use atomic operation to manipulate stats cumulation for safety
#93 Fix invalid resp in 'proxy info' command
#96 Amend response format of 'proxy info'
#94 Ignore command with error result in slowlog. Fix some bugs

v0.2.4

07 Jul 07:14
Compare
Choose a tag to compare

#82 Revert "Send slow command to statsd. Close #33"
#75 Removed beginning underscores from identifiers, resolves #37
#70 Send slow command to statsd. Close #33
#74 Remove unnecessary null pointer checks, closes #40
#73 Corvus==0.2.3 doesn't support redis 3.2.0 yet
#72 Use config read-strategy to control read/write separation, closes #67
#71 Changed to compare keys in dict_index for safety
#64 Replace CLUSTER SLOTS with CLUSTER NODES to get slot map
#68 Revert "Do not update slot map after server EOF"
#66 Implement command QUIT, closes #65
#63 add support for TIME command
#59 Add option for separating read and write
#61 Do not update slot map after server EOF

v0.2.3

24 May 08:59
Compare
Choose a tag to compare
  • #58 Make all statsd metrics incremental, resolves #51
  • #57 Add archive script for release
  • #56 Updated build instruction
  • #55 Use jemalloc
  • #54 Limit the length of server iov for reducing latency
  • #52 Implement AUTH command
  • #49 Disabled waiting for commands to finish in client_read
  • #48 Stats shouldn't be reset by command INFO
  • #47 Refactored thread spawning
  • #44 Removed mbuf_queue_get
  • #42 Simplified signal handler, closes #39

v0.2.2

14 Apr 10:32
Compare
Choose a tag to compare
bump version to 0.2.2

v0.2.1

23 Mar 06:34
Compare
Choose a tag to compare
bump version to v0.2.1

v0.2.0

18 Mar 05:20
Compare
Choose a tag to compare
bump version to v0.2.0

v0.1.1

07 Mar 09:54
Compare
Choose a tag to compare
v0.1.1