Permalink
Commits on Oct 8, 2009
  1. Spec fixes (-TODO, +BuildDepend: /usr/bin/prove)

    Jonathan Steinert committed with dustin Oct 8, 2009
  2. Fix for issue 93 (binary verbosity)

    -v under ascii mode printed startup messages and errors
    -v under binary mode printed almost everything
    
    now they're more or less the same, unless I missed one.
    dormando committed with dustin Oct 8, 2009
  3. Restrict binary protocol to 8bit keys.

    The binary protocol supports 16bit keys, but the memcached internals
    haven't been updated or tested at all to support it.
    
    For now, we limit the key length in binprot the same as ASCII.
    dormando committed with dustin Oct 8, 2009
  4. Removed issue_72 C test (emits invalid key).

    This issue has coverage in the perl codebase, but relies on keys
    larger than 250 bytes long working.
    dustin committed Oct 8, 2009
  5. Allow using an external daemon for perl tests.

    Set T_MEMD_USE_DAEMON="127.0.0.1:11211" or similar to use an
    external daemon. In a debugger, verbosely, or whatever.
    dormando committed with dustin Oct 8, 2009
  6. better warnings for -t

    Fix > 0 constraint.
    Warn if setting a ton of threads. Some folks set -t in the hundreds
    since they think it works like apache.
    dormando committed with dustin Oct 7, 2009
Commits on Oct 7, 2009
  1. new per-slab item stat evicted_nonzero

    If an item with exptime != 0 (non unlimited) is evicted the evicted_nonzero
    counter is incremented.
    
    The number of evicted items with no expire time is (evicted - evicted_nonzero)
    dormando committed with dustin Oct 7, 2009
  2. remove old unfinished slab reassignment code

    Old code was unfinished, had no test coverage, and not quite what we'll end up
    with in the future.
    
    Slab reassignment will happen in earnest soon, but for now we should stop
    confusing users.
    dormando committed with dustin Oct 7, 2009
  3. Make item size max start time configurable.

    Adds new option -I, accepts bytes, or NNk or NNm.
    dormando committed with dustin Oct 7, 2009
Commits on Oct 6, 2009
  1. -vv mode now prints the final slab class

    slabs per chunk will always be 1, but the other numbers can vary.
    dormando committed with dustin Oct 6, 2009
Commits on Sep 22, 2009
  1. Issue 92: stats cachedump should respond CLIENT_ERROR for illegal sla…

    …b ids
    Trond Norbye committed with dustin Sep 22, 2009
Commits on Sep 18, 2009
  1. Cleanup of number of threads declarations (issue 91)

         * Change setings.num_threads (-t option) meaning (Now it is a number
           of worker threads).
         * Fix bug in -t option checking.
         * Simple data struct for dispatcher (no thread-local stat and so on).
         * No special threads[0] for dispatcher thread info.
         * thread_local_stats_{reset|aggregate} does not cycle on unused
           dispatcher thread stat.
         * Simplify thread initialization and connection dispatching logic.
    
    (notes from Dustin):
    
    A list in a commit is typically a red flag, but this isn't really
    listing a bunch of distinct things that were done, but a bunch of ways
    things were made better by a simple refactoring.
    
    I also added a test that verifies that it fails if you add "-t 0".
    Before, it did not fail, but the whole server would crash if you
    connected to it.  This test doesn't confirm the server crashed in that
    case, but at least confirms the exact issue 91 case, which is that it
    does the right thing when "-t 0" is specified.
    Dmitry Isaykin committed with dustin Sep 18, 2009
  2. Add support for hugetlbfs (for Linux).

    From http://libhugetlbfs.ozlabs.org/ -
    
         libhugetlbfs is a library which provides easy access to huge
         pages of memory. It is a wrapper for the hugetlbfs file
         system.
    
    If you are running memcached with a very large heap in Linux, this
    change will make it available to you.  The hugetlbfs HOWTO provides
    detailed information on how to configure your Linux system and provide
    advice to applications (such as memcached) to make use of it.
    Trond Norbye committed with dustin Sep 16, 2009
Commits on Sep 17, 2009
  1. Remove TODO from dist target

    Trond Norbye committed with dustin Sep 17, 2009
  2. Reformat to be consistent with the project.

    dustin committed with Trond Norbye Sep 17, 2009
  3. Protocol definitions for range ops.

    dustin committed with Trond Norbye Sep 17, 2009
Commits on Sep 15, 2009
  1. Use ls-files instead of ls-tree to run whitespace tests.

    This allows us to check uncommitted files (while still ignoring
    ignored files).
    
    Anything that should go into the repo that is not specifically
    excluded from testing will be tested.
    
    Note that this also removed the -f test since only files are returned
    from ls-files.
    dustin committed Sep 15, 2009
Commits on Sep 14, 2009
  1. New whitespace test.

    Using git (when available) to figure out what should be tested.
    dustin committed Sep 14, 2009
  2. Removed the old TODO.

    Anything we're doing should be on the web.
    dustin committed Sep 14, 2009
  3. README whitespace cleanup.

    dustin committed Sep 14, 2009
Commits on Sep 11, 2009
  1. Issue 89: "Optimize" get-hits calculations

    Instead of calling memset to zero out 804 bytes for each get command (and
    iterate through a loop checking all of the 201 slab classes for the number of
    hits each time, just increment the stat directly.
    Trond Norbye committed with dustin Aug 24, 2009
Commits on Sep 10, 2009
  1. Kill off redundant item_init.

    These are automatically initialized to 0 (both Trond and the spec says
    so, and I asserted it on all current builders at least once before
    killing it off).
    dustin committed with Trond Norbye Sep 10, 2009
  2. Kill off redundant and incorrect sizing definition.

    It seems that in investigating the fencepost issue (issue59), it was
    revealed that the 255 value of LARGEST_ID was well beyond what was
    ever possible to be referenced.
    
    As actual value was limited to the POWER_LARGEST definition in
    practice, I have LARGEST_ID use POWER_LARGEST to define itself.
    dustin committed with Trond Norbye Jun 22, 2009
  3. Clean up slab boundary checking.

    http://groups.google.com/group/memcached/browse_thread/thread/45b70cced2c4bd32
    
    In items.c in memcached-1.2.8, these arrays allow indices up to but
    not including LARGEST_ID:
    
    ...
    static item *heads[LARGEST_ID];
    static item *tails[LARGEST_ID];
    
    So this comment (which appears twice) is confused:
    
       /* always true, warns: assert(it->slabs_clsid <= LARGEST_ID); */
    
    The assert should be checking for clsid < LARGEST_ID, not <=.  And
    then the warning would go away.  Or was the intent always to have 256
    entries in the arrays, not 255?
    
    Similarly, this code in items.c should be checking >=, not >, as
    heads[LARGEST_ID] would be out-of-bounds:
    
       if (slabs_clsid > LARGEST_ID) return NULL;
       it = heads[slabs_clsid];
    
    IMHO the confusion stems from the fact that LARGEST_ID is not itself a
    valid id, as the name seems to imply.
    mjhostet committed with Trond Norbye Jun 22, 2009
  4. Issue 88: Problems building on Centos 5 due to embedding a directive …

    …within macro arguments
    Vladimir committed with Trond Norbye Sep 10, 2009
Commits on Sep 2, 2009
  1. binary set with cas does not return the new cas id

    (dustin) I updated the perl test to check for this when it's doing CAS
    stuff.  Found some bugs in the perl test that took too long to fix.
    Trond Norbye committed with dustin Sep 2, 2009
  2. Add more tests on the binary protocol

    Trond Norbye committed with dustin Aug 27, 2009
  3. Print an error message when we receive an invalid command in the bina…

    …ry protocol
    Trond Norbye committed with dustin Aug 27, 2009
  4. Print a message on stderr when the timeout occurs

    Trond Norbye committed with dustin Aug 27, 2009
Commits on Sep 1, 2009