forked from twitter/twemproxy
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
153 lines (138 loc) · 7.71 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
2021-13-07 Tyson Andre <tysonandre775@hotmail.com>
* twemproxy: version 0.5.0 release
Same as 0.5.0-RC1
2021-06-07 Tyson Andre <tysonandre775@hotmail.com>
* twemproxy: version 0.5.0-RC1 release
Add 'tcpkeepalive' pool boolean config flag setting
to enable tcp keepalive (charsyam, manju)
Support redis bitpos command (clark kang)
Fix parsing of redis error response for error type with no space,
add tests (tyson, tom dalton)
Update integration tests, add C unit test suite for 'make check' (tyson)
Increase the maximum host length+port+identifier to 273
in ketama_update (李广博)
Always initialize file permissions field when listening on a unix domain
socket (tyson)
Use number of servers instead of number of points on the continuum when
sharding requests to backend services to improve sharding performance
and fix potential invalid memory access when all hosts were ejected
from a pool. (tyson)
Optimize performance of deletion of single redis keys (vincentve)
Don't fragment memcache/redis get commands when they only have a single
key (improves performance and error handling of single key case) (tyson)
Don't let requests hang when there is a dns error when processing a
fragmented request (e.g. multiget with multiple keys) (tyson)
Allow extra parameters for redis spop (charsyam)
Update documentation and README (various)
Fix memory leak bug for redis mset (deep011)
Support arbitrarily deep nested redis multi-bulk
responses (nested arrays) (qingping209, tyson)
Upgrade from libyaml 0.1.4 to 0.2.5 (tyson)
Fix compiler warnings about wrong conversion specifiers in format
strings for logging (tyson)
Log the async backend used and any debug options in the
'--help'/'--version' output.
Add support for many more new redis commands and updates to existing
redis commands (tyson)
Optimization: Skip hashing and choosing server index when a pool has
exactly one server (tyson)
Support memcache 'version' requests by proxying the request to a single
backend memcache server to fetch the server version. (tyson)
Make error messages for creating the stats server during startup clearer. (tyson)
2015-22-06 Manju Rajashekhar <manj@cs.stanford.edu>
* twemproxy: version 0.4.1 release
backend server hostnames are resolved lazily
redis_auth is only valid for a redis pool
getaddrinfo returns non-zero +ve value on error
fix-hang-when-command-only (charsyam)
fix bug crash when get command without key and whitespace (charsyam)
mark server as failed on protocol level transiet failures like -OOM, -LOADING, etc
implemented support for parsing fine grained redis error response
remove redundant conditional judgement in rbtree deletion (leo ma)
fix bug mset has invalid pair (charsyam)
temp fix a core on kqueue (idning)
support "touch" command for memcached (panmiaocai)
fix redis parse rsp bug (charsyam)
SORT command can take multiple arguments. So it should be part of redis_argn() and not redis_arg0()
remove incorrect assert because client could send data after sending a quit request which must be discarded
allow file permissions to be set for UNIX domain listening socket (ori liveneh)
return error if formatted is greater than mbuf size by using nc_vsnprintf() in msg_prepend_format()
fix req_make_reply on msg_get, mark it as response (idning)
redis database select upon connect (arne claus)
redis_auth (charsyam)
allow null key(empty key) (idning)
fix core on invalid mset like "mset a a a" (idning)
2014-18-10 idning <idning@gmail.com>
* twemproxy: version 0.4.0 release
mget improve (idning)
many new commands supported: LEX, PFADD, PFMERGE, SORT, PING, QUIT, SCAN... (mattrobenolt, areina, idning)
handle max open file limit(allenlz)
add notice-log and use ms time in log(idning)
fix bug in string_compare (andyqzb)
fix deadlock in sighandler (idning)
2013-20-12 Manju Rajashekhar <manj@cs.stanford.edu>
* twemproxy: version 0.3.0 release
SRANDMEMBER support for the optional count argument (mkhq)
Handle case where server responds while the request is still being sent (jdi-tagged)
event ports (solaris/smartos) support
add timestamp when the server was ejected
support for set ex/px/nx/xx for redis 2.6.12 and up (ypocat)
kqueue (bsd) support (ferenyx)
fix parsing redis response to accept integer reply (charsyam)
2013-23-04 Manju Rajashekhar <manj@cs.stanford.edu>
* twemproxy: version 0.2.4 release
redis keys must be less than mbuf_data_size() in length (fifsky)
Adds support for DUMP/RESTORE commands in Redis (remotezygote)
Use of the weight value in the modula distribution (mezzatto)
Add support to unix socket connections to servers (mezzatto)
only check for duplicate server name and not 'host:port:weight' when 'name' is configured
crc16 hash support added (mezzatto)
2013-31-01 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.2.3 release
RPOPLPUSH, SDIFF, SDIFFSTORE, SINTER, SINTERSTORE, SMOVE, SUNION, SUNIONSTORE, ZINTERSTORE, and ZUNIONSTORE support (dcartoon)
EVAL and EVALSHA support (ferenyx)
exit 1 if configuration file is invalid (cofyc)
return non-zero exit status when nutcracker cannot start for some reason
use server names in stats (charsyam)
Fix failure to resolve long FQDN name resolve (conmame)
add support for hash tags
2012-18-10 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.2.2 release
fix the off-by-one error when calculating redis key length
2012-12-10 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.2.1 release
don't use buf in conf_add_server
allow an optional instance name for consistent hashing (charsyam)
add --stats-addr=S option
add stats-bind-any -a option (charsyam)
2012-12-03 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.2.0 release
add -D or --describe-stats command-line argument to print stats description
redis support in twemproxy
setup pre/post splitcopy and pre/post coalesce handlers in msg struct
memcache pre_splitcopy, post_splitcopy, pre_coalesce and post_coalesce handlers
every fragment of a msg vector keeps track of the first/last fragment, number of fragments and fragment owner
set up msg parser handler for memcache connections
refactor parsing code and create header file nc_proto.h
stats_listen should use st->addr as the listening address string
delete stats tracking memcache requests and responses; stats module no longer tracks protocol related stats
2012-10-27 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.1.20 release
on msg_repair, msg->pos should point to nbuf->pos and not nbuf->last
refactor memcache parsing code into proto directory
add redis option to configuration file
fix macro definition strXcmp error for big endian
fix log_hexdump and loga_hexdump
2012-07-31 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.1.19 release
close server connection on a stray response (yashh, bmatheny)
2012-06-19 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.1.18 release
command line option to set mbuf chunk size
2012-05-09 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.1.17 release
use _exit(0) instead of exit(0) when daemonizing
use loga instead of log_stderr in nc_stacktrace
2012-02-09 Manju Rajashekhar <manj@twitter.com>
* twemproxy: version 0.1.16 release
twemproxy (aka nutcracker) is a fast and lightweight proxy for memcached protocol.