Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Feb 21, 2013
  1. @daschl

    SPY-112: Throw CancellationException when future is cancelled.

    daschl authored daschl committed
    This changeset throws the semantically more correct
    CancellationException when a operation future is cancelled. Old
    code that catches RuntimeExceptions will still work, but it allows
    for more flexible catching on the application level.
    
    Change-Id: I476f06e8989f06423be6e186c6565179e270df13
    Reviewed-on: http://review.couchbase.org/24654
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Commits on Feb 5, 2013
  1. @daschl

    Small checkstyle fix.

    daschl authored daschl committed
    Change-Id: I3b6e8613489c3d0b3dc969336121dcbb3e178531
    Reviewed-on: http://review.couchbase.org/24405
    Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
    Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Commits on Feb 1, 2013
  1. @daschl

    Skipping reconnect when not in cluster anymore.

    daschl authored daschl committed
    This changeset skips the reconnect phase when the to be
    reconnected node is not part of the cluster anymore. This
    information is based on the locator.
    
    Change-Id: I949ec1e78fd6b5fa73851d5461cbf3a70de11027
    Reviewed-on: http://review.couchbase.org/24232
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
  2. @daschl

    SPY-111: Check if the node belongs to cluster before connect.

    daschl authored daschl committed
    This changeset makes sure a node belongs to the cluster (by
    verifying against the node locator), before trying to (re)-
    connect. This helps in situations where a node is scheduled
    for shutdown and therfore not part of the cluster, but is
    still alive and may be connectable. In this case, it will
    result in NPE or AssertionExceptions down the stack.
    
    Change-Id: Ib825b487fcd77c5cb9cf7d50e5b8b3c9c227cab5
    Reviewed-on: http://review.couchbase.org/24230
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Commits on Jan 29, 2013
  1. @daschl

    SPY-110: Update KetamaNodeLocator allNodes on reconfigure.

    daschl authored daschl committed
    This changeset updates the KetamaNodeLocator to also change the
    allNodes on reconfigure, not only the ketamaNodes. This fixes
    an issue where broadcast operations (which rely on the allNodes
    collection) were sent to the wrong targets.
    
    Change-Id: I1184ab8f3c564d181d832cad37e63ede2dabc631
    Reviewed-on: http://review.couchbase.org/24180
    Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
    Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Commits on Jan 16, 2013
  1. @daschl

    Minor checkstyle fixes.

    daschl authored daschl committed
    Change-Id: I0ead0bc582f99ce2b7c39db1ca1124f72d744c4d
    Reviewed-on: http://review.couchbase.org/23980
    Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
    Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
  2. @ingenthr @daschl

    SPY-108: Verify connections are sound before completing them entirely.

    ingenthr authored daschl committed
    Without this change, the client considers the connection to be
    good any time a connection has been established.  This is not the
    case in some critical situations, such as a hung process or a very
    busy remote server.
    
    Solution is to ping the server with a version op, since that can happen
    before auth, and use that as a way to verify the thing is actually
    alive.
    
    Note there is also a refactoring in here renaming the variable for
    the node.
    
    Change-Id: Ie3c0bc967b0705df6e58bf8ef81b158db8576bf3
    Reviewed-on: http://review.couchbase.org/23840
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Commits on Jan 14, 2013
  1. @ingenthr @daschl

    SPY-107: Ensure state of timedout is known across IO and user threads.

    ingenthr authored daschl committed
    After seeing this in a log, I re-thought through the series of events here.
    
    This flag on the op is known by user threads and the IO thread.  Thus it
    is modified in these two different ways:
    
    * operation is created and enqueued
    * OperationFuture is returned
    * .get() is called on OF
     **timed out**
    
    * operation is removed from input queue
    * elapsed time is checked
      **timed out**
    
    Change-Id: I879f9b6459aa2fce1ddd97c5803da8c5392453a5
    Reviewed-on: http://review.couchbase.org/23798
    Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Dec 3, 2012
  1. @mikewied @ingenthr

    Fix checkstyle and javadocs errors

    mikewied authored ingenthr committed
    Change-Id: I26c70eeb11b881ea0890a2ae8b1919a2169cbdc6
    Reviewed-on: http://review.couchbase.org/22054
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @apage43 @daschl

    SPY-63 Keys can be anything over binary protocol

    apage43 authored daschl committed
    Change-Id: I8fcd92bac797f7bb610fd6bc42a8b78d27700785
    Reviewed-on: http://review.couchbase.org/21323
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Commits on Oct 13, 2012
  1. @mikewied @ingenthr

    Don't increment volatile variables

    mikewied authored ingenthr committed
    Incrementing a volitile int is not thread safe since it follows
    the read/modify/update pattern.
    
    Change-Id: Idd389ea6dd576376a6b4a01cd2d38e9a7ef7733c
    Reviewed-on: http://review.couchbase.org/21151
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Oct 8, 2012
  1. @daschl @mikewied

    JCBC-128: Add ZERO to the PersistTo ENUM.

    daschl authored mikewied committed
    This small changeset is the prerequisite for a larger change
    in the JCBC client, so that it is possible to only wait for
    proper replication and not for persistence too. See the
    proper commit in couchbase-java-client tagged with JCBC-128
    for more details and tests.
    
    Change-Id: I3b1385a7a9553170a46d7ef72d6b537c0997b351
    Reviewed-on: http://review.couchbase.org/21415
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @mikewied

    JCBC-105: Add stats key operation

    mikewied authored
    This only allows you to do stats key on the active vbucket, but
    we add the ability to get stats from the replica vbuckets
    later.
    
    Change-Id: I903741a5f31bc3653e313185f2193708876d029e
    Reviewed-on: http://review.couchbase.org/21200
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Sep 27, 2012
  1. @mikewied

    Make unsynchronized LoggerFactory field syncronized

    mikewied authored
    Because the compiler or processor may reorder instructions, threads
    are not guaranteed to see a completely initialized object if the
    init function is called by two different threads.
    
    Change-Id: I33342891fe098f84791bf8358e82f31a4bc99d92
    Reviewed-on: http://review.couchbase.org/21152
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @mikewied

    Use Arrays.toString() when printing the contents of an array

    mikewied authored
    Just printing an array will print a useless value. Calling the
    Arrays.toString() function will at least try to print something
    useful.
    
    Change-Id: Ifd6a3da495835694b300cf7f94b96c79ee03f4bd
    Reviewed-on: http://review.couchbase.org/21153
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Sep 18, 2012
  1. @mikewied @ingenthr

    JCBC-110: Delete operation in MemcachedClient now returns it's cas

    mikewied authored ingenthr committed
    Change-Id: Id70241db2e4111f335b76ed9e6c6179d266aee94
    Reviewed-on: http://review.couchbase.org/20852
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @mikewied @ingenthr

    JCBC-110: Observe operations return their handling node in gotData

    mikewied authored ingenthr committed
    Change-Id: I56f5f1844f0388a750ab5b5b4703e616b1e2aa10
    Reviewed-on: http://review.couchbase.org/20851
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  3. @mikewied @ingenthr

    JCBC-110: Add accessor funcitons to observe enum classes

    mikewied authored ingenthr committed
    Change-Id: If6c8ecd0fd5be178001db7db229b94a9184a8a2f
    Reviewed-on: http://review.couchbase.org/20849
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Sep 17, 2012
  1. @mikewied @ingenthr

    JCBC-110: Fix getCas function in operation future

    mikewied authored ingenthr committed
    We need to wait for the operation to complete if we call getCas
    and the operation is not finished otherwise calling this function
    will incorrectly throw an exception.
    
    Change-Id: Iefd90f04f8ebdeaf569b69be6dea7deac03a2c80
    Reviewed-on: http://review.couchbase.org/20848
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Sep 10, 2012
  1. @mikewied @ingenthr

    Broadcast operations only send to specified nodes

    mikewied authored ingenthr committed
    This was causing observe replica broadcast to always have a positive
    countdown latch and timeout.
    
    Change-Id: I4b49cb094ede8875757eb4b09d7b5a5ee50e848a
    Reviewed-on: http://review.couchbase.org/20655
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Raghavan N. Srinivas <raghavan.srinivas@gmail.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Aug 31, 2012
  1. @ragsns @ingenthr

    Change cas for Observe Statuses, return OperationFuture on async.

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

    Fixed issues with the Observe Method(s)

    ragsns authored ingenthr committed
    Change-Id: Id2a1483bc1c75268f579b3df88ae4e8d488b6f46
    Reviewed-on: http://review.couchbase.org/19919
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Aug 19, 2012
  1. @ingenthr

    Add the node back to connected during reconnect. Issue 225.

    ingenthr authored ingenthr committed
    The connection was being added back a bit later than its
    reconnect, causing operations to continue to timeout.  It's
    not clear if this is platform specific or not, but this change
    is reported to work.
    
    See http://code.google.com/p/spymemcached/issues/detail?id=225
    
    Change-Id: I47960883b515a1d2b571e5b286179337dd960b2e
    Reviewed-on: http://review.couchbase.org/19847
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @ragsns @ingenthr

    Fixed failing Unlock test

    ragsns authored ingenthr committed
    Note this isn't a complete fix for handling unlock.  Several
    possible responses are ignored.  That is tracked under SPY-97
    for now.
    
    Change-Id: I20b0e9734c7fa170edcd38c76e59f353f4a4df41
    Reviewed-on: http://review.couchbase.org/19538
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Aug 17, 2012
  1. @ragsns @ingenthr

    Changes for Observe.

    ragsns authored ingenthr committed
    Change-Id: I94a0709e0856b5dd72d108feec9574b0836b4fbf
    Reviewed-on: http://review.couchbase.org/19537
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Aug 13, 2012
  1. @ragsns @ingenthr

    Adding a getCas() for Store functions

    ragsns authored ingenthr committed
    Change-Id: Ieced868b0b9870838801fd45eee010f61e215fd6
    Reviewed-on: http://review.couchbase.org/19534
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
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. @ingenthr

    Let offline try to work with already downloaded mvn.

    ingenthr authored ingenthr committed
    Change-Id: I7d41ef0e1781fc1c1f3b3ca01cf07edf5b3d3639
    Reviewed-on: http://review.couchbase.org/17667
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @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>
Something went wrong with that request. Please try again.