Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Oct 27, 2009
  1. Allow MemcachedClient and AsciiOperationFactory extensibility.

    authored
    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 authored committed
    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.

    authored
    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

    Support byte arrays in WhalinV1Transcoder.

    klafferty authored committed
Commits on Oct 22, 2009
  1. @klafferty

    MemcachedConnection constructor should catch SocketException

    klafferty authored committed
    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:
    
    java.net.SocketException: Host is down
    	at sun.nio.ch.Net.connect(Native Method)
    	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464)
    	at net.spy.memcached.MemcachedConnection.<init>(MemcachedConnection.java:80)
    	at net.spy.memcached.DefaultConnectionFactory.createConnection(DefaultConnectionFactory.java:84)
    	at net.spy.memcached.MemcachedClient.<init>(MemcachedClient.java:146)
    
    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);
    		connected(qa);
    	} else {
    		getLogger().info("Added %s to connect queue", qa);
    		ops=SelectionKey.OP_CONNECT;
    	}
    	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) {
    	queueReconnect(qa);
    }
    connections.add(qa);
    
    Given the stack trace I observed, the catch of ConnectException should
    cast a slightly larger net and catch SocketException.
    
    (issue94)
Commits on Oct 14, 2009
  1. Compile targetting 1.5.

    authored
Commits on Oct 13, 2009
  1. @lzimm

    Fixed bug in sequence number wrapping (bug90).

    lzimm authored committed
    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.

    authored
  2. Moved ketama stuff to util.

    authored
  3. @ciaranj
Commits on Sep 24, 2009
  1. Fix javadoc @see links.

    authored
  2. Cleaning up docs a bit.

    authored
Commits on Sep 23, 2009
  1. Updated site task.

    authored
  2. Use emma as the coverage tool.

    authored
  3. ConnectionFactoryBuilder

    authored
Commits on Sep 20, 2009
  1. Optimize binary protocol sets.

    authored
    This optimization works in a similar fashion to the GET optimization,
    but is binary protocol specific.  Effectively, all mutation operations
    are folded into quiet ops and the responses are dispatched as implied
    positives when the operations are known to have finished.
Commits on Sep 19, 2009
Something went wrong with that request. Please try again.