root/branches/append/server/ChangeLog

Revision 590, 13.2 kB (checked in by sgrimm, 2 years ago)

Fix the "stats items" command; the powers-of-N chunk size change broke it

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
12007-07-08  Steven Grimm  <sgrimm@facebook.com>
2
3        * Item stats commands weren't thread-safe; wrap them with locks
4          when compiled in multithreaded mode.
5        * The "stats items" command now works again; it broke with the
6          introduction of the powers-of-N chunk size change.
7
82007-07-06 [Version 1.2.3 released]
9
102007-06-19  Paul Lindner  <lindner@mirth.inuus.com>
11
12        * Solaris portability fixes from Trond Norbye
13
142007-05-29  Paul Lindner  <lindner@mirth.inuus.com>
15
16        * Properly document evictions statistic value
17
182007-05-10  Paul Lindner  <lindner@inuus.com>
19
20        * Flesh out tests for unix domain sockets and binary data.
21        * Update rpm spec file to run tests
22
232007-05-07  Paul Lindner  <lindner@inuus.com>
24
25        * Fix compilation bug on freebsd 6.x (and maybe others)
26        * Update RPM spec file per redhat bugzilla #238994
27        * Move unistd.h to memcached.h to get rid of warnings
28        * Add string.h to thread.c to get correctly prototyped strerror()
29
302007-05-04  Paul Lindner  <lindner@inuus.com>
31
32        * Add fedora/redhat style init script and RPM spec file
33
342007-05-12 [Version 1.2.2 released]
35
362007-04-16  Steven Grimm  <sgrimm@facebook.com>
37
38        * Command tokenizer performance and cleanliness improvement.
39          Patch contributed by Paolo Borelli <paolo.borelli@gmail.com>.
40
412007-04-16  Paul Lindner  <lindner@inuus.com>
42
43        * Add notes to README about MacOS, libevent and kqueue.
44
45        * Windows Patch integration -- part 1, warnings elimination.
46
472007-04-12  Paul Lindner  <lindner@mirth.inuus.com>
48
49        * Allow changes to the verbosity level of the server with a new
50          "verbosity" command and some compiler cleanups.
51          Patch contributed by Paolo Borelli <paolo.borelli@gmail.com>.
52
532007-04-08  Paul Lindner  <lindner@inuus.com>
54
55        * Add cleanup patch from "Tim Yardley" <liquid@haveheart.com> to
56          clean up source spacing issues, fix -Wall warnings, add some
57          null checks, adds asserts at the top of each function for any
58          use of conn *c without checking to see if c is NULL first.
59
60        * Also adjust clean-whitespace.pl to clean *.ac files.  Add
61          script to test-suite to test for tabs.
62
632007-04-04  Paul Lindner  <lindner@inuus.com>
64
65        * Add clarification of flush_all in the protocol docs
66          from Elizabeth Mattijsen <liz@dijkmat.nl>
67
682007-03-31  Paul Lindner  <lindner@inuus.com>
69
70        * Add patch from Eli Bingham <eli@pandora.com> to
71          re-enable the -n switch to memcached.
72
732007-03-20  Paul Lindner  <lindner@inuus.com>
74        * Add patch to collect eviction statistics from
75          Jean-Francois BUSTARRET <jfbustarret@wat.tv>.
76
77        * Updated docs, added new test cases for t/stats.t
78
792007-03-18  Paul Lindner  <lindner@inuus.com>
80
81        * Add more test cases using larger buffer sizes up to and greater
82          than 1MB.
83
84        * Remove unused parameter to item_size_ok()
85
86        * Use a single printf() in usage()
87
88        * Add a failing test for conforming with maximum connections.
89
902007-03-17
91        * crash fix from Thomas van Gulick <thomas@partyflock.nl> in
92          conn_shrink(), passing &ptr, instead of ptr to realloc().
93
942007-03-05  Paul Lindner  <lindner@inuus.com>
95        * Fix a number of places where (s)printf calls were using unsigned
96          or signed formats that did not match their arguments.
97
98        * Add support for stdbool.h and stdint.h to use the bool and
99          uint8_t types.
100
101        * Major refactoring - move API calls for assoc/items/slabs to
102          their own individual header files.  Add apropriate const and
103          static declarations as appropriate.
104       
105        * Avoid type-punning.  Do a more efficient realloc inside the
106          conn_shrink routine.
107
108        * Fix overflow bug where uninitialized access to slabclass caused
109          size-0 mallocs during slab preallocation.
110
111        * Use EXIT_SUCCESS/EXIT_FAILURE constants.
112
113        * Convert some sprintf calls to snprintf to protect against
114          buffer overflows.
115
116        * Explicitly compare against NULL or zero in many places.
117
1182007-03-05
119        * Steven Grimm <sgrimm@facebook.com>: Per-object-type stats collection
120          support. Specify the object type delimiter with the -D command line
121          option. Turn stats gathering on and off with "stats detail on" and
122          "stats detail off". Dump the per-object-type details with
123          "stats detail dump".
124
1252007-03-01
126        * Steven Grimm <sgrimm@facebook.com>: Fix an off-by-one error in the
127          multithreaded version's message passing code.
128
1292006-12-23
130        * fix expirations of items set with absolute expiration times in
131          the past, before the server's start time.  bug was introduced in
132          1.2.0 with rel_time_t.  Thanks to Adam Dixon
133          <adamtdixon@gmail.com> for the bug report and test case!
134
1352006-11-26
136        * Steven Grimm <sgrimm@facebook.com>: Performance improvements:
137         
138          Dynamic sizing of hashtable to reduce collisions on very large
139          caches and conserve memory on small caches.
140
141          Only reposition items in the LRU queue once a minute, to reduce
142          overhead of accessing extremely frequently-used items.
143
144          Stop listening for new connections until an existing one closes
145          if we run out of available file descriptors.
146
147          Command parser refactoring: Add a single-pass tokenizer to cut
148          down on string scanning.  Split the command processing into
149          separate functions for easier profiling and better readability.
150          Pass key lengths along with the keys in all API functions that
151          need keys, to avoid needing to call strlen() repeatedly.
152
1532006-11-25
154        * Steve Peters <steve@fisharerojo.org>: OpenBSD has a malloc.h,
155        but warns to use stdlib.h instead
156
1572006-11-22
158        * Steven Grimm <sgrimm@facebook.com>: Add support for multithreaded
159          execution. Run configure with "--enable-threads" to enable. See
160          doc/threads.txt for details.
161
1622006-11-13
163        * Iain Wade <iwade@optusnet.com.au>: Fix for UDP responses on non-"get"
164         commands.
165
1662006-10-15
167        * Steven Grimm <sgrimm@facebook.com>: Dynamic sizing of hashtable to
168          reduce collisions on very large caches and conserve memory on
169          small caches.
170
1712006-10-13
172        * Steven Grimm <sgrimm@facebook.com>: New faster hash function.
173
1742006-09-20
175
176        * don't listen on UDP by default; more clear message when UDP port in use
177
1782006-09-09
179        * release 1.2.0 (along with 1.1.13, which is the more tested branch)
180
181        nobody has run 1.2.0 in production, to my knowledge.  facebook has run
182        their pre-merge-with-trunk version, but bugs were discovered (and fixed)
183        after the merge.  there might be more.  you've been warned.  :)
184
1852006-09-04
186        * improved autoconf libevent detection, from the Tor project.
187
1882006-09-03
189        * test suite and lot of expiration, delete, flush_all, etc corner
190          case bugs fixed (Brad Fitzpatrick)
191
1922006-09-02
193        * Nathan Neulinger <nneul@umr.edu>: fix breakage in expiration code
194          causing expiration times to not be processed correctly.
195
1962006-08-21
197        * Nathan Neulinger <nneul@umr.edu>: fix incompatabilities with
198          unix domain socket support and the UDP code and clean up stale
199          sockets
200
2012006-08-20
202        * Nathan Neulinger <nneul@umr.edu>: unix domain socket support
203
2042006-05-03
205        * Steven Grimm <sgrimm@facebook.com>:  big bunch of changes:
206          big CPU reduction work, UDP-based interface, increased memory
207          efficiency.  (intertwined patch, committed all together)
208          <http://lists.danga.com/pipermail/memcached/2006-May/002164.html>
209          or see svn commit logs
210
2112006-04-30
212        * River Tarnell:  autoconf work for Solaris 10.  Brad:
213        merge and verify it works on Nexenta.
214
2152006-03-04
216        * avva: bucket/generation patch (old, but Brad's just finally
217        committing it)
218
2192006-01-01
220        * Brad Fitzpatrick <brad@danga.com>:  allocate 1 slab per class
221        on start-up, to avoid confusing users with out-of-memory errors
222        later.  this is 18 MB of allocation on start, unless max memory
223        allowed with -m is lower, in which case only the smaller slab
224        classes are allocated.
225
2262005-08-09
227        * Elizabeth Mattijsen <liz@dijkmat.nl>: needed a way to flush all
228        memcached backend servers, but not at exactly the same time (to
229        reduce load peaks), I've added some simple functionality to the
230        memcached protocol in the "flush_all" command that allows you to
231        specify a time at which the flush will actually occur (instead of
232        always at the moment the "flush_all" command is received).
233
2342005-05-25
235        * patch from Peter van Dijk <peter@nextgear.nl> to make
236          stderr unbuffered, for running under daemontools
237
2382005-04-04
239        * patch from Don MacAskill <don@smugmug.com> 'flush_all' doesn't
240        seem to work properly.  Basically, if you try to add a key which
241        is present, but expired, the store fails but the old key is no
242        longer expired.
243
244        * release 1.1.12
245
2462005-01-14
247        * Date: Thu, 18 Nov 2004 15:25:59 -0600
248          From: David Phillips <electrum@gmail.com>
249        Here is a patch to configure.ac and Makefile.am to put the man page in
250        the correct location.  Trying to install the man page from a
251        subdirectory results in the subdirectory being used in the install
252        path (it tries to install to doc/memcached.1).  This is the correct
253        thing to  do:
254
255        - create a Makefile.am in the doc directory that installs the man page
256          with man_MANS
257        - modify Makefile.am in the base directory to reference the doc
258          directory using SUBDIRS
259        - modify the AC_CONFIG_FILES macro in configure.ac to output the
260          Makefile in doc
261
262       
2632005-01-14
264        * pidfile saving support from Lisa Seelye <lisa@gentoo.org>, sent
265          Jan 13, 2005
266
2672005-01-14
268        * don't delete libevent events that haven't been added (the deltimer)
269          patch from Ted Schundler <tschundler@gmail.com>
270
2712004-12-10
272        * document -M and -r in manpage (Doug Porter <dsp@dsp.name>)
273
2742004-07-22
275        * fix buffer overflow in items.c with 250 byte keys along with
276          other info on the same line going into a 256 byte char[].
277          thanks to Andrei Nigmatulin <anight@monamour.ru>
278       
2792004-06-15
280        * immediate deletes weren't being unlinked a few seconds,
281          preventing "add" commands to the same key in that time period.
282          thanks to Michael Alan Dorman <mdorman@debian.org> for the
283          bug report and demo script.
284       
2852004-04-30
286        * released 1.1.11
287
2882004-04-24
289        * Avva: Add a new command line option: -r , to maximize core file
290        limit.
291
2922004-03-31
293        * Avva: Use getrlimit and setrlimit to set limits for number of
294        simultaneously open file descriptors. Get the current limits and
295        try to raise them if they're not enough for the specified (or the
296        default) setting of max connections.
297       
2982004-02-24
299        * Adds a '-M' flag to turn off tossing items from the cache.
300          (Jason Titus <jtitus@postini.com>)
301
3022004-02-19 (Evan)
303        * Install manpage on "make install", etc.
304
3052003-12-30 (Brad)
306        * remove static build stuff.  interferes with PAM setuid stuff
307          and was only included as a possible fix with the old memory
308          allocator.  really shouldn't make a difference.
309        * add Jay Bonci's Debian scripts and manpage
310        * release version 1.1.10
311
3122003-12-01 (Avva)
313        * New command: flush_all, causes all existing items to
314          be invalidated immediately (without deleting them from
315          memory, merely causing memcached to no longer return them).
3162003-10-23
317        * Shift init code around to fix daemon mode on FreeBSD,
318        * and drop root only after creating the server socket (to
319        * allow the use of privileged ports)
320        * version 1.1.10pre
321
3222003-10-09
323        * BSD compile fixes from Ryan T. Dean
324        * version 1.1.9
325       
3262003-09-29
327        * ignore SIGPIPE at start instead of crashing in rare cases it
328          comes up.  no other code had to be modified, since everything
329          else is already dead-connection-aware.  (avva)
330       
3312003-09-09 (Avva, Lisa Marie Seelye <lisa@gentoo.org>)
332        * setuid support
333       
3342003-09-05 (Avva)
335        * accept all new connections in the same event (so we work with ET epoll)
336        * mark all items as clsid=0 after slab page reassignment to please future
337          asserts (on the road to making slab page reassignment work fully)
338
3392003-08-12 (Brad Fitzpatrick)
340        * use TCP_CORK on Linux or TCP_PUSH on BSD
341        * only use TCP_NODELAY when we don't have alternatives
342       
3432003-08-10
344        * disable Nagel's Algorithm (TCP_NODELAY) for better performance (avva)
345
3462003-08-10
347        * support multiple levels of verbosity (-vv)
348
3492003-08-10  (Evan Martin)
350        * Makefile.am: debug, optimization, and static flags are controlled
351          by the configure script.
352        * configure.ac:
353          - allow specifying libevent directory with --with-libevent=DIR
354          - check for malloc.h (unavailable on BSDs)
355          - check for socklen_t (unavailable on OSX)
356        * assoc.c, items.c, slabs.c:  Remove some unused headers.
357        * memcached.c:  allow for nonexistence of malloc.h; #define a POSIX
358          macro to import mlockall flags.
359
3602003-07-29
361        * version 1.1.7
362        * big bug fix: item exptime 0 meant expire immediately, not never
363        * version 1.1.8
364
3652003-07-22
366        * make 'delete' take second arg, of time to refuse new add/replace
367        * set/add/replace/delete can all take abs or delta time (delta can't
368          be larger than a month)
369
3702003-07-21
371        * added doc/protocol.txt
372
3732003-07-01
374        * report CPU usage in stats
375         
3762003-06-30
377        * version 1.1.6
378        * fix a number of obscure bugs
379        * more stats reporting
380       
3812003-06-10
382        * removing use of Judy; use a hash.  (judy caused memory fragmentation)
383        * shrink some structures
384        * security improvements
385        * version 1.1.0
386       
3872003-06-18
388        * changing maxsize back to an unsigned int
389       
3902003-06-16
391        * adding PHP support
392        * added CONTRIBUTORS file
393        * version 1.0.4
394       
3952003-06-15
396        * forgot to distribute website/api (still learning auto*)
397        * version 1.0.3
398       
3992003-06-15
400        * update to version 1.0.2
401        * autoconf/automake fixes for older versions
402        * make stats report version number
403        * change license from GPL to BSD
404       
405Fri, 13 Jun 2003 10:05:51 -0700  Evan Martin  <martine@danga.com>
406
407        * configure.ac, autogen.sh, Makefile.am:  Use autotools.
408        * items.c, memcached.c:  #include <time.h> for time(),
409          printf time_t as %lu (is this correct?),
410          minor warnings fixes.
411
Note: See TracBrowser for help on using the browser.