Permalink
Commits on Jan 17, 2016
Commits on Nov 8, 2014
  1. Address an allocation TODO in the default ServerSelector.

    And add a special case for only 1 server.
    
    Minor win, in any case.
    
    benchmark                      old ns/op     new ns/op     delta
    BenchmarkPickServer            262           234           -10.69%
    BenchmarkPickServer_Single     253           139           -45.06%
    
    benchmark                      old allocs     new allocs     delta
    BenchmarkPickServer            1              0              -100.00%
    BenchmarkPickServer_Single     1              0              -100.00%
    
    benchmark                      old bytes     new bytes     delta
    BenchmarkPickServer            8             0             -100.00%
    BenchmarkPickServer_Single     8             0             -100.00%
    committed Nov 8, 2014
  2. misc style tweaks

    committed Nov 8, 2014
Commits on Oct 6, 2014
  1. Fix README mistakes.

    committed Oct 6, 2014
Commits on May 26, 2014
  1. Merge pull request #22 from gpaul/master

    go vet: remove unreachable code
    committed May 26, 2014
  2. @gpaul

    go vet: remove unreachable code

    gpaul committed May 26, 2014
Commits on May 17, 2014
  1. Merge pull request #7 from robfig/master

    Add the replace operation
    committed May 17, 2014
  2. @kennygrant

    Added DeleteAll() method

    Conflicts:
    	memcache/memcache.go
    	memcache/memcache_test.go
    kennygrant committed with Mar 27, 2013
  3. Just use net.Error

    committed May 17, 2014
  4. Merge pull request #16 from freelancer/master

    Fix for bug that can cause leaked goroutines
    committed May 17, 2014
  5. Merge pull request #12 from craigmj/master

    Touch Support
    committed May 17, 2014
  6. use Skipf

    committed May 17, 2014
  7. Add explicit LICENSE file.

    committed May 17, 2014
Commits on Mar 7, 2014
  1. Merge pull request #17 from bronze1man/pr-gofmt

    gofmt
    committed Mar 7, 2014
Commits on Jan 29, 2014
  1. @craigmj

    flush_all support

    craigmj committed Jan 29, 2014
Commits on Jan 21, 2014
  1. @bronze1man

    gofmt

    bronze1man committed Jan 21, 2014
Commits on Nov 14, 2013
  1. @nickdavies
Commits on Nov 13, 2013
  1. @nickdavies
Commits on Nov 11, 2013
  1. Merge pull request #15 from garyburd/patch-1

    Update documentation link in README.md
    committed Nov 11, 2013
  2. @garyburd
Commits on Sep 24, 2013
  1. Merge pull request #13 from asim/master

    Fix connection leak. Use net.Addr.String() as freeconn map key.
    committed Sep 24, 2013
Commits on Sep 9, 2013
  1. Fix connection leak. Use net.Addr.String() as freeconn map key. When …

    …the function SetServers is called the ServerList is replaced by a new set of net.Addr interfaces which no longer match those used as keys for the freeconn map. The underlying data structure is usually a TCPaddr or UnixAddr pointer. Go's equality operation on the map keys looks at the underlying pointer and thinks they are not the same so continues to create new connections assuming it does not have any free.
    Asim Aslam committed Sep 9, 2013
Commits on Sep 2, 2013
  1. @craigmj
Commits on Sep 1, 2013
  1. @craigmj
  2. @craigmj

    Added TOUCH support

    craigmj committed Sep 1, 2013
Commits on May 8, 2013
  1. Merge pull request #10 from d2fn/master

    parse headers with or without a cas id (for kestrel, etc)
    committed May 8, 2013
  2. @d2fn
Commits on Mar 4, 2013
  1. @robfig

    go fmt

    robfig committed Mar 4, 2013
  2. @robfig

    Add Replace operation

    robfig committed Mar 4, 2013
Commits on Dec 19, 2012
  1. Merge pull request #5 from jgrahamc/master

    Fixed a bug where a bad connection gets reused
    committed Dec 19, 2012
  2. @jgrahamc

    Close connections that are being discarded

    If a TCP connection to memcache is not being returned to the free list (because an error
    has occurred on the connection and its reuse is not allowed), explicitly close the
    connection.
    jgrahamc committed Dec 19, 2012
  3. @jgrahamc

    Fix a problem where an error in onItem could result in a bad connecti…

    …on being reused
    
    If an error occurs inside the fn() that onItem calls it would have not been spotted by
    condRelease() and that could result in a bad connection being placed back in the
    pool of free connections. Under load the package was experiencing this problem manifested
    in the following fashion:
    
      1. A connection gets an i/o timeout during a call to onItem()
    
      2. The error returned by the function called by onItem() is placed in a new
         err value (because of the :=) but the condRelease() has been set up with
         &err from a previous declaration of err. Therefore err is nil.
    
      3. condRelease() places the connection back in the free list.
    
      4. The connection is reused at some point and there's data waiting to be read
         from the previous memcache command that got the i/o timeout. This results
         in (typically) an error from the Sscanf line at line 405 because that line
         ends up trying to parse part of the response that was not previously read
         because of the i/o timeout.
    
    This fix prevents this from happening. If an error occurs the connection will not be
    reused.
    jgrahamc committed Dec 19, 2012
Commits on Oct 6, 2012
  1. Merge pull request #4 from codemartial/master

    Replace 'goinstall' with 'go get'.
    committed Oct 6, 2012
Commits on Aug 14, 2012
  1. @codemartial

    Replaced 'goinstall' with 'go get'

    It seems like 'goinstall' is now 'go get', but getting that piece of information from web search is not too easy. Hope this would save other n00bs' time.
    codemartial committed Aug 14, 2012