Skip to content
Commits on Nov 11, 2009
Commits on Nov 6, 2009
  1. Don't throw away an exception.

  2. Reformatted callback handler.

  3. Working multi-step auth.

  4. A slightly better model for SASL auth.

    I still need to actually attempt a multi-step auth attempt.
  5. Beginnings of SASL support.

    I've manually verified this is happy with a test server both in the
    auth pass and auth fail cases.  It needs a lot of work before it's
    good, though.
  6. @blair

    Fix AddrUtilTest#testIPv6Host() hostname assertion.

    blair committed with
    This broke on operating systems where the IPv6 localhost is not listed
    in /etc/hosts as "localhost" but as "ip6-localhost" for Ubuntu or
    "localhost6.localdomain6" for Centos 5 and Foresight Linux.
  7. @blair

    Be more generous in the strings that AddrUtil#getAddresses() will parse.

    blair committed with
    The code will now allow multiple whitespace and commas to separate
    "host:port" tokens.
Commits on Oct 27, 2009
  1. Allow MemcachedClient and AsciiOperationFactory extensibility.

    While I don't encourage people to just randomly start changing stuff,
    I also shouldn't assume I'm smarter than my users.  :)
  2. @ingenthr

    Some javadoc cleanup in MemcachedClient examples.

    ingenthr committed with
    I don't think it'd be a change between Java 1.5 and Java 6, but in any
    event I found the advanced example didn't compile without the changes
    incorporated in the diff in the comments here.  Since binary protocol
    is a feature, I thought this was a good place to show it off too.
  3. Handle operations that are writing and reading at the same time.

    Especially in bulk cases, the server can be transmitting data from an
    operation and receiving results from it simultaneously.  It's no
    longer sufficient to consider an operation to be either reading or
    writing, but it's likely that it will need to read at the very moment
    it begins writing.
Commits on Oct 23, 2009
  1. @klafferty
Commits on Oct 22, 2009
  1. @klafferty

    MemcachedConnection constructor should catch SocketException

    klafferty committed with
    Running version 2.0.1 on OS X 10.5.7 with JDK 1.5, I observed the
    following exception when to a host that had been accidentally taken
    out of service: Host is down
    	at Method)
    	at net.spy.memcached.MemcachedConnection.<init>(
    	at net.spy.memcached.DefaultConnectionFactory.createConnection(
    	at net.spy.memcached.MemcachedClient.<init>(
    It looks like the 2.4.1 client resolves this by catching
    ConnectException and queuing a reconnect, in this code:
    // Initially I had attempted to skirt this by queueing every
    // connect, but it considerably slowed down start time.
    try {
    	if(ch.connect(sa)) {
    		getLogger().info("Connected to %s immediately", qa);
    	} else {
    		getLogger().info("Added %s to connect queue", qa);
    	qa.setSk(ch.register(selector, ops, qa));
    	assert ch.isConnected()
    		|| qa.getSk().interestOps() == SelectionKey.OP_CONNECT
    		: "Not connected, and not wanting to connect";
    } catch(ConnectException e) {
    Given the stack trace I observed, the catch of ConnectException should
    cast a slightly larger net and catch SocketException.
  2. Removed a debugging stdout thing.

  3. StorageListener should be public.

Commits on Oct 14, 2009
  1. Compile targetting 1.5.

Commits on Oct 13, 2009
  1. Configurable max reconnect delay.

  2. @lzimm

    Fixed bug in sequence number wrapping (bug90).

    lzimm committed with
    If the cas op on seqNumber fails, rv never gets updated and will loop
    until seqNumber wraps at least one more time. proposed fix increments
    seqNumber whether or not the cas succeeds: if another thread was able
    to swap to 0 before we were, we're still good to go.
Commits on Sep 26, 2009
  1. Some doc and style cleanup.

  2. Moved ketama stuff to util.

  3. @ciaranj
Commits on Sep 24, 2009
  1. Cleaned up all javadoc warnings.

  2. Fix javadoc @see links.

  3. Cleaning up docs a bit.

  4. Update the toplevel package.html

Something went wrong with that request. Please try again.