Commits on Apr 12, 2010
  1. Actually use the args to SASLConnectReconnect; shutdown nicely.

    Change-Id: I7517a355707ed9440974d5b5b947fb13a8ba7142
    ingenthr committed Apr 12, 2010
  2. Log operation failures as potential auth failures.

    Change-Id: I8e3f5d7cafda8b6007c96799cb8c09b7c780abc1
    ingenthr committed Apr 6, 2010
  3. Handle auth failures more gracefully; maximum failures.

    This change will ensure that autentication failures do not
    hang the thread adding an operation.  The default behavior
    is to try to authenticate forever and whine to the log if
    authentication continues to fail.
    Optionally, a developer may define
    net.spy.memcached.auth.AuthThreshold with an integer value
    to set a maximum number of authentication attempts before
    shutting down.
    Authentication threads are now spawned and managed by an
    AuthTreadMonitor class, ensuring that for any given
    connection there can only be one outstanding AuthThread.
    Change-Id: I0af4ab41d27239e7b555dca7d993e6228b7df5b8
    ingenthr committed Mar 15, 2010
  4. Minor fixes to SASL reconnect test.

    Change-Id: Ib7a560c209dd9ac3d8ce0ea36d429228bd92e647
    ingenthr committed Apr 1, 2010
Commits on Apr 7, 2010
  1. Implementing read-only methods in MemcachedNodeROImpl - issue86

    Change-Id: I3437c4a69d9673d3fc7a2d0611012389b28e3d2f
    Reviewed-by: Dustin Sallings <>
    Tested-by: Dustin Sallings <>
    gkim committed with Apr 7, 2010
Commits on Mar 31, 2010
  1. Enhance MemcachedNode to know whether auth should happen.

    When SASL authentication is requested of a MemcachedClient it should
    always ensure that auth takes place before anything else on the queue
    is processed.
    After some experimentation, it seems The best way to handle this is to
    extend the MemcachedNode interface to add some methods. This in turn
    allows for the changes to be implemented in the TCPMemcachedNodeImpl
    There is special handling with the inputQueue and addOperation if
    a reconnect occurs during authentication.
    It's a bit harder at the BinaryMemcachedNodeImpl, though arguably
    makes more sense there.  Since these are all pretty well hidden as an
    implementation detail, it's okay for it to be here.
    Who knows, maybe someday ascii will have SASL.  Probably not though.
    ingenthr committed Mar 26, 2010
Commits on Mar 30, 2010
Commits on Mar 12, 2010
  1. Various Javadoc completeness.

    ingenthr committed Mar 11, 2010
Commits on Mar 5, 2010
  1. Invert the ConnectionFactoryBuilderTest to go with new logic.

    The contribution by Blair Zajac inverts the ConnectionFactoryBuilder
    defaults to match that of the DefaultConnectionFactory.  This updates
    the tests to check for the new default, and test the new change.
    ingenthr committed Feb 17, 2010
  2. fix for useless check statement that is for continuous timeout except…

    …ion counter
    Ahn Seong Hwa committed with ingenthr Feb 6, 2010
  3. New TCP connection timeout feature; if server fails completely, d/c.

    With this change, the MemcachedClient has a method of using the
    connection observer to determine a connected server is consistently
    timing out, indicating it has hard-failed.  This will destroy that
    connection so things may rehash or reconnect, depending on the hash
    Ahn Seong Hwa committed with ingenthr Feb 5, 2010
Commits on Mar 2, 2010
  1. If the String value of the socket address starts with a /, remove it.

    This is just the default stringification, clients can use whatever
    they want, but by default, this seems to provide consistent results
    with libketama.
    committed Mar 2, 2010
Commits on Feb 16, 2010
  1. Fix consistency issue in ConnectionFactoryBuilder.isDaemon()

    DefaultConnectionFactory#isDaemon() is false while
    ConnectionFactoryBuilder builds a ConectionFactory that by default
    returns true for #isDaemon(), so to make them consistent, modify
    ConnectionFactoryBuilder to have #isDaemon() be false.
    blair committed with Feb 16, 2010
Commits on Jan 27, 2010
Commits on Jan 9, 2010
  1. Allow user-specified wait time for availability of queue space.

    This means that instead of raising a queue overflow exception on
    insert, the client can optionally block waiting for space to become
    available instead (with a timeout that will result in the same
    kreide committed with Jan 9, 2010
Commits on Nov 11, 2009
Commits on Nov 6, 2009
  1. Don't throw away an exception.

    committed Oct 18, 2009
  2. Reformatted callback handler.

    committed Oct 18, 2009
  3. Working multi-step auth.

    committed Oct 10, 2009