root/trunk/server/ChangeLog @ 618

Revision 618, 14.1 kB (checked in by plindner, 2 years ago)

Fix for do_item_cachedump() which was returning an incorrect timestamp.

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