Commits on Mar 18, 2009
  1. Raise an IllegalArgumentException on blank keys.

    Much thanks to Alexander Zaitsev for pointing this out so I can save
    someone else from his headache in the future.
    committed Mar 18, 2009
  2. @raykrueger

    Moved BaseMockCase into src/test.

    Maven uses separate classpaths for test vs main compile. This class
    didn't compile as the jmock jar is only in the test classpath.
    raykrueger committed with Feb 26, 2009
Commits on Mar 6, 2009
  1. Link to the changelog.

    committed Mar 6, 2009
Commits on Feb 25, 2009
Commits on Feb 16, 2009
  1. A Map interface to memcached.

    This obviously has limitations -- specifically around attempts to
    iterate the cache.  Any place where a Map is used as a cache, this
    should make a nice swap-in replacement, though.
    committed Feb 16, 2009
Commits on Feb 15, 2009
  1. Allow the default transcoder to be specified.

    This was done before by a gross mutator.  The ability to specify it
    was obvious, but I overlooked it anyway since I always use the default
    committed Feb 15, 2009
Commits on Feb 13, 2009
  1. Added the Cancel failure mode.

    This failure mode simply cancels any operations heading towards a
    broken server.
    committed Feb 13, 2009
  2. Removed setTranscoder from client.

    This was not thread safe and shouldn't generally be done.  You can
    pass in a transcoder on a given operation, but attempting to change
    the current one would require me to at least make it volatile.
    committed Feb 13, 2009
  3. Fix really terrible misspelling of mutator.

    This is not a backwards-compatible change, but I doubt anyone is
    implementing MutatorOperations -- at least, anyone who wouldn't prefer
    them to be spelled correctly.
    committed Feb 13, 2009
Commits on Feb 12, 2009
  1. Remove compat JDBC closing.

    There's no DB stuff here.
    committed Feb 12, 2009
  2. Handle multi-get dispatch fanning out into individual gets.

    This covers the case of a multi-get targeting a downed server, getting
    pulled out and redistributed individually to a bunch of individual
    operations on other servers.
    Note that this is (should be):
     1) Rare (you don't have servers dying a lot, do you?
     2) Later optimized into per-server multi-gets when prepped for the wire.
    committed Feb 12, 2009
  3. Tests around cloning operations.

    committed Feb 12, 2009
  4. Operation cloning.

    committed Feb 11, 2009
Commits on Feb 11, 2009
  1. Beginning of the redistribute failure strategy.

    This changed the default strategy used throughout tests since the new
    strategy is not complete and prematurely cancels all operations
    destined for the broken server.
    committed Feb 11, 2009
  2. Split up commands into Keyed and other operations.

    KeyedOperations lets us know for which operations we know the original
    keys so we can do things like find another server to play the
    operations against.
    committed Feb 11, 2009
  3. When FailureMode is retry, queue even when inactive.

    This is *most* of the implementation of FailureMode.Retry.
    committed Feb 5, 2009
  4. Introduction of failure modes.

    committed Feb 5, 2009
  5. MemcachedThreadBench main should use reasonable defaults.

    This almost got profiling working in netbeans, but not completely.
    committed Feb 5, 2009
Commits on Feb 4, 2009
  1. Update documentation for DefaultConnectionFactory.

    The queue implementations were documented and should probably be
    committed Feb 4, 2009
Commits on Feb 3, 2009
  1. Converted to an unbounded LinkedBlockingQueue for internal queues.

    The external queue is still bounded, but the internal queues won't
    overflow by default (at the cost of more memory during spikes).
    committed Feb 3, 2009
  2. Make QueueOverflowTest a bit more standalone.

    I'm thinking about changing internal queue types, and would like the
    test to still be able to overrun.
    committed Feb 3, 2009
Commits on Feb 2, 2009
  1. Added the ability to pass in initial observers at construct time.

    With this, observers can observe the *initial* connection, which (as
    the test demonstrates) can allow a caller to block until all (or at
    least enough) connections are established before proceeding.
    committed Feb 2, 2009
Commits on Jan 27, 2009