Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Aug 13, 2012
  1. @ragsns

    Adding a getCas() for Store functions

    ragsns authored
    Change-Id: Ieced868b0b9870838801fd45eee010f61e215fd6
Commits on Jul 30, 2012
  1. @ingenthr @ragss

    Fixed misc checkstyle errors which crept in.

    ingenthr authored ragss committed
    Change-Id: I72161b5867b12aa31206a8924f46651cc0566d11
    Reviewed-on: http://review.couchbase.org/19035
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
  2. @ingenthr @mikewied

    Change selection key logging to debug level.

    ingenthr authored mikewied committed
    I was debugging with package net.spy.memcached at the INFO
    level and it was rather annoying seeing these selection key
    messages for each operation.  I believe they should be
    debug level
    
    Change-Id: Ifbb7b619f1e9d85433ff6c7a07ea4cc292737285
    Reviewed-on: http://review.couchbase.org/18996
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 25, 2012
  1. @ingenthr @ragss

    Revert ErrorCode and OperationStatus changes.

    ingenthr authored ragss committed
    This is a squashed revert of two separate commits. After
    disabling optimization, I still found failing tests. I had
    thought it was related at first, but after doing a bisect
    it clearly identified the "Create an ErrorCode class" as
    the culprit. In combination with the OperationState
    correctly being volatile, it would regularly fail in the
    midst of bulk operations.
    
    This commit reverts:
    "OperationStatus now has an error code"
     commit cdc26cd and
    "Create an ErrorCode class for error codes"
     commit 82ad6cb.
    
    Change-Id: Id6e04ed1787e140c5072a78cece682c45fe06313
    Reviewed-on: http://review.couchbase.org/18683
    Reviewed-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
    Tested-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
Commits on Jul 24, 2012
  1. @ingenthr

    Disable optimization by default, remove assert. SPY-88.

    ingenthr authored ingenthr committed
    This is only a workaround at the moment for SPY-88, but
    it was found that the addition of the assert with a
    javadoc change and changing OperationState to volatile
    would cause failures in test cases like the
    testParallelSetGet() indicating there is a thread
    safety issue.
    
    While trying to find the specific cause, it seems the best
    approach for now is to disable optimization.
    
    The assert, while correct, is also being disabled since
    it seems to trigger issues with getBulk which seems to
    call the complete() more frequently than it should.
    
    This combination of changes seems to be a tested, stable
    workaround until a proper fix may be implemented.
    
    Change-Id: I755b18aa487247a445657726ae2dc8dad6a27991
    Reviewed-on: http://review.couchbase.org/18670
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @mschoch @ingenthr

    add support for TAP request/response with checkpoint info

    mschoch authored ingenthr committed
    Change-Id: If646c70aaa345f3dd1191257dfcedc1aaacdc7b1
    Reviewed-on: http://review.couchbase.org/13571
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Jul 23, 2012
  1. @ingenthr

    Correct test for StringUtils.join().

    ingenthr authored ingenthr committed
    Change-Id: I9c320db96a1a1587d39696195f44a1d775cdd0a8
    Reviewed-on: http://review.couchbase.org/18682
    Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
    Reviewed-by: Michael Nitschinger <michael@nitschinger.at>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Jul 12, 2012
  1. @mschoch @mikewied

    add TAP Opcodes for start/end checkpoint

    mschoch authored mikewied committed
    Change-Id: Ic90fee141df1485ac55e6fdfc5a922f6a158803b
    Reviewed-on: http://review.couchbase.org/13570
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Marty Schoch <marty.schoch@gmail.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 11, 2012
  1. @mikewied

    JCBC-72: Make OperationException extendable

    mikewied authored
    This change is needed for a ViewException object in
    Couchbase Client.
    
    Change-Id: I7730bf378e9437d6575d5e9880295a25571d28f6
    Reviewed-on: http://review.couchbase.org/18196
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 3, 2012
  1. @ingenthr @mikewied

    Comment correction in MemcachedConnection. Non-javadoc.

    ingenthr authored mikewied committed
    Change-Id: Idf5f35739cb286a8e808891a202964ca67e685cf
    Reviewed-on: http://review.couchbase.org/17666
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jun 29, 2012
  1. @mikewied

    JCBC-52: Fix StringUtils.join()

    mikewied authored
    This function was implemented incorrectly. It was returning
    a,b,c,
    
    when it should have been returning
    a,b,c
    
    This change fixes this issue.
    
    Change-Id: I822bd3accc2dd2b122b1b44dfe79d8ed36250cf2
    Reviewed-on: http://review.couchbase.org/17027
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @mikewied

    Fixed parsing of delete tap packet

    mikewied authored
    We weren't taking the revid into account
    
    Change-Id: Ice82717ada14c7e85b6191470d7174189f878073
    Reviewed-on: http://review.couchbase.org/17640
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jun 15, 2012
  1. @mikewied

    SPY-90: getStats() can return an error

    mikewied authored
    Change-Id: Ida7f9ec4aa101873d464a42db9e5b2b55f2910fa
    Reviewed-on: http://review.couchbase.org/17028
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @mikewied

    Check if op is null before asserting in OperationFuture

    mikewied authored
    On another note, the change Matt put in that added this causes
    two other test failures that I didn't have time to fix. I should
    have run make test before pushing his change.
    
    Change-Id: I8bc580f3305191521949a28ce70bca0da8b24d2b
    Reviewed-on: http://review.couchbase.org/17026
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jun 9, 2012
  1. @ingenthr @mikewied

    Add javadoc for OperationFuture.

    ingenthr authored mikewied committed
    Change-Id: I9cce09cb58bf8e7ee4afe33f70ec01638b126d85
    Reviewed-on: http://review.couchbase.org/16256
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @ingenthr @mikewied

    Make the OperationState volatile. SPY-88

    ingenthr authored mikewied committed
    Change-Id: Id8a871c018a6a6372367129b8924e5a833f83644
    Reviewed-on: http://review.couchbase.org/16255
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jun 4, 2012
  1. @mikewied

    OperationStatus now has an error code

    mikewied authored
    Having error codes will make it easier for users who get errors
    to test for what error it is. Right now we only have the message
    string and this can actually be different for the same error type.
    
    Change-Id: I067e3145d5d95b09d7ca0ad0445bcfa5d5784d51
    Reviewed-on: http://review.couchbase.org/15949
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @mikewied

    Create an ErrorCode class for error codes

    mikewied authored
    This allows us to use error codes in other places than just
    operations. This class defines all of the Memcached error codes
    as well as two client specific codes (timed out and canceled). The
    reason for client specific error codes is that is gives the user
    something definitive to test against when error cases happen.
    
    Change-Id: I6b4b21ec8448444103d8e73b440df6085bdc1e33
    Reviewed-on: http://review.couchbase.org/15948
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jun 2, 2012
  1. @mikewied @ingenthr

    Fixed tap message test cases

    mikewied authored ingenthr committed
    The flags were wrong here. We were passing a long, but the flag said
    it was an int.
    
    Change-Id: I58af8a9899025fc54db4d374bce6ca5d29b309af
    Reviewed-on: http://review.couchbase.org/15947
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Commits on May 24, 2012
  1. @ingenthr @mikewied

    Make queueReconnect protected so subclasses can request reconnects.

    ingenthr authored mikewied committed
    In fixing JCBC-53 on the Couchbase Java client, a need to queue
    reconnections in some cluster configuration updates was found to be
    required.  This change allows that.
    
    Change-Id: I25ce3945b4e5e6527dd680031237be22faed69ee
    Reviewed-on: http://review.couchbase.org/16335
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @ingenthr @mikewied

    Change vbucket retry logging to debug level. SPY-87

    ingenthr authored mikewied committed
    Change-Id: I31aa045ff6d328858fa44e53720e38b20b8d38dc
    Reviewed-on: http://review.couchbase.org/16257
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on May 23, 2012
  1. @mikewied @ingenthr

    Retry not my vbucket error for optimized sets. SPY-88

    mikewied authored ingenthr committed
    Change-Id: I729781636917f80714cf8d9460e4523e876e1258
    Reviewed-on: http://review.couchbase.org/16251
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Commits on Mar 22, 2012
  1. @ingenthr

    Added toString() for ResponseMessage.

    ingenthr authored ingenthr committed
    Change-Id: Ie627cd14631a01a0258d67337251c552e90aa3bc
    Reviewed-on: http://review.couchbase.org/13361
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Mar 21, 2012
  1. @ingenthr

    Complete the removal of stats cachedump.

    ingenthr authored ingenthr committed
    Unfortunately, late night coding means I put up a change and
    marked it verified, but it makes the project not compile.  Not
    worth rewriting history for these 5 commits or so, but need
    to fix it.
    
    See also http://review.couchbase.org/#change,14142
    
    Change-Id: I975a79774fe7d8ec0484fb69c0910525ed164b02
    Reviewed-on: http://review.couchbase.org/14143
    Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @ingenthr

    Add test coverage for ResponseMessage and fix to get bytes.

    ingenthr authored ingenthr committed
    This adds test coverage to the ResponseMessage.  This test was used
    for finding and addressing a number of recent fixes and verifying
    correct support for requesting the flags to be sent correctly in
    network byte order.  These other fixes were added in recent commits.
    
    Change-Id: I68355b5ea10437c144a7b4a46adb7d005edfa0fc
    Reviewed-on: http://review.couchbase.org/13996
    Reviewed-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  3. @ingenthr

    Decode TAP mutation flags as host byte order.

    ingenthr authored ingenthr committed
    In trying to decode the item flags from a tap mutation, it was found
    that the flags are stored in the server in network byte order, but
    when sent over tap it goes through htonl() conversion, making it a
    double conversion.
    
    Future versions of the server now allow for the client to specify
    it would like the flags sent correctly, via a TAP flag, and the
    server will set a flag to say they're being sent correctly.  With
    this change, we now request things to be correct and if we don't
    receive a flag saying it's correct, we swap the bytes (assuming we
    are talking to a 'broken' server).
    
    In developing this change, a test was also developed but to
    complete the test correctly, some other issues had to be fixed.
    Thus the test isn't in this commit, but rather in it's own commit
    after cleaning up the mess.
    
    Change-Id: I63b69273cac194163b784211474ec2ff77bd7959
    Reviewed-on: http://review.couchbase.org/13510
    Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  4. @ingenthr

    Fixed handling of TAP flags.

    ingenthr authored ingenthr committed
    The request and response messages for flags were not following the defined
    protocol for their data size.  Also, the logic in the setting of the flags
    was incorrect, meaning it wasn't actually possible to determine which
    flags were set.
    
    A test that verifies correct behavior will be added in a later commit
    that introduces test coverage for the ResponseMessage class.
    
    Change-Id: I20ae1b176cb3bc764e993ab98254b15f69cba9ea
    Reviewed-on: http://review.couchbase.org/13995
    Reviewed-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  5. @ingenthr

    Wait longer on tap data received.

    ingenthr authored ingenthr committed
    Change-Id: I5279eec0f642688013c9a8d98ca4a7922cae9d42
    Reviewed-on: http://review.couchbase.org/13509
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  6. @ingenthr @mikewied

    Remove test for "stats cachedump".

    ingenthr authored mikewied committed
    In the most recent memcached memcached branch, stats cachedump
    has been removed.  It now returns an error saying it's not supported.
    
    See also:
    http://code.google.com/p/memcached/issues/detail?id=207
    http://www.couchbase.com/issues/browse/MB-4058
    http://review.couchbase.org/#change,13854
    
    Change-Id: Ib3d344e7a0db28994017c515e1c56c4efdcfae19
    Reviewed-on: http://review.couchbase.org/14142
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Commits on Feb 20, 2012
  1. @ingenthr

    Enhanced TapTest, ensuring success with random leftovers.

    ingenthr authored ingenthr committed
    Change-Id: Ia5ed0e3a6a2074a1dac229904826fdd838e06b37
    Reviewed-on: http://review.couchbase.org/13362
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @mikewied @ingenthr

    Made TapAck its own class

    mikewied authored ingenthr committed
    This will help reduce having duplicate code.
    
    Change-Id: I96f7fb126ab3f7879e590131ded7229f9f75bc31
    Reviewed-on: http://review.couchbase.org/13084
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  3. @mikewied

    Created TapStream abstraction

    mikewied authored mikewied committed
    Previously when we created a tap stream we would only send it
    to a single node in the memcached cluster. This fix creates
    a tap stream abstraction that aggregates the tap streams
    sent to each server and treats them as a single tap stream.
    
    Change-Id: I68650e187eec5f79952dab1374bad0e07d5a6c30
    Reviewed-on: http://review.couchbase.org/13081
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Feb 6, 2012
  1. @ragsns @ragss

    Added support for unl command

    ragsns authored ragss committed
    Based on patch submitted by Brent Ryan
    
    Change-Id: I9da7cc17eb5adedc9c2cac79ab562bab0fc7ba52
    Reviewed-on: http://review.couchbase.org/12908
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
Commits on Jan 22, 2012
  1. @ingenthr

    Add Iterator versions of getAsyncBulk and getBulk

    Ted Crossman authored ingenthr committed
    Add the following methods to Memcached/MemcachedIF:
    - <T> BulkFuture<Map<String, T>> asyncGetBulk(Iterator<String> keys,
          Iterator<Transcoder<T>> tcs);
    - <T> BulkFuture<Map<String, T>> asyncGetBulk(Iterator<String> keys,
          Transcoder<T> tc);
    - BulkFuture<Map<String, Object>> asyncGetBulk(Iterator<String> keys);
    - <T> Map<String, T> getBulk(Iterator<String> keys, Transcoder<T> tc);
    - Map<String, Object> getBulk(Iterator<String> keys);
    
    Some times it is more convenient/memory efficent to pass in an
    Iterator of keys than it is to have a Collection of them.
    
    Example:
    
    public PrefixAdderIterator implements Iterator<String> {
    
      private final String prefix;
      private final Iterator<String> iterator;
      public PrefixAdderIterator(String prefix,
             Iterator<String> iterator) {
        this.prefix = prefix;
        this.iterator = iterator;
      }
      ...
      public String next() {
        return prefix+iterator.next();
      }
     ...
    }
    
    rather than
    
     List<String> prefixedKeys = new ArrayList<String>();
     for (String key: keys) {
      prefixedKeys.add(prefix+key);
     }
    
    Change-Id: I15821983ea2ebd07fd98feeb968ce9fa578ded0b
    Reviewed-on: http://review.couchbase.org/12283
    Reviewed-by: Ted Crossman <tedoc2000@gmail.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Jan 12, 2012
  1. @mikewied

    Split tap flags class into request and response

    mikewied authored mikewied committed
    Tap requests and responses flags have different meanings. They
    should be represented by two different classes.
    
    Change-Id: Ib5f8d76aa6ce05cf8f5c15980f29b8e93100d6a8
    Reviewed-on: http://review.couchbase.org/12298
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Something went wrong with that request. Please try again.