Permalink
Commits on Feb 1, 2013
  1. Skipping reconnect when not in cluster anymore.

    daschl committed Jan 28, 2013
    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. SPY-111: Check if the node belongs to cluster before connect.

    daschl committed Jan 28, 2013
    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. SPY-110: Update KetamaNodeLocator allNodes on reconfigure.

    daschl committed Jan 24, 2013
    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. Minor checkstyle fixes.

    daschl committed Jan 16, 2013
    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. SPY-108: Verify connections are sound before completing them entirely.

    ingenthr authored and daschl committed Jan 10, 2013
    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. SPY-107: Ensure state of timedout is known across IO and user threads.

    ingenthr authored and daschl committed Jan 9, 2013
    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. Fix checkstyle and javadocs errors

    mikewied authored and ingenthr committed Oct 29, 2012
    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. SPY-63 Keys can be anything over binary protocol

    apage43 authored and daschl committed Oct 3, 2012
    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. Don't increment volatile variables

    mikewied authored and ingenthr committed Sep 26, 2012
    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. JCBC-128: Add ZERO to the PersistTo ENUM.

    daschl authored and mikewied committed Oct 8, 2012
    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. JCBC-105: Add stats key operation

    mikewied committed Sep 28, 2012
    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. Make unsynchronized LoggerFactory field syncronized

    mikewied committed Sep 26, 2012
    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. Use Arrays.toString() when printing the contents of an array

    mikewied committed Sep 26, 2012
    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. JCBC-110: Delete operation in MemcachedClient now returns it's cas

    mikewied authored and ingenthr committed Sep 14, 2012
    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. JCBC-110: Observe operations return their handling node in gotData

    mikewied authored and ingenthr committed Sep 14, 2012
    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. JCBC-110: Add accessor funcitons to observe enum classes

    mikewied authored and ingenthr committed Sep 14, 2012
    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. JCBC-110: Fix getCas function in operation future

    mikewied authored and ingenthr committed Sep 14, 2012
    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. Broadcast operations only send to specified nodes

    mikewied authored and ingenthr committed Sep 7, 2012
    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. Change cas for Observe Statuses, return OperationFuture on async.

    ragsns authored and ingenthr committed Aug 30, 2012
    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. Fixed issues with the Observe Method(s)

    ragsns authored and ingenthr committed Aug 21, 2012
    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. Add the node back to connected during reconnect. Issue 225.

    ingenthr committed Aug 19, 2012
    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. Fixed failing Unlock test

    ragsns authored and ingenthr committed Aug 13, 2012
    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. Changes for Observe.

    ragsns authored and ingenthr committed Aug 13, 2012
    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. Adding a getCas() for Store functions

    ragsns authored and ingenthr committed Aug 12, 2012
    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. Fixed misc checkstyle errors which crept in.

    ingenthr authored and ragss committed Jul 30, 2012
    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. Change selection key logging to debug level.

    ingenthr authored and mikewied committed Jul 28, 2012
    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. Revert ErrorCode and OperationStatus changes.

    ingenthr authored and ragss committed Jul 23, 2012
    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. Disable optimization by default, remove assert. SPY-88.

    ingenthr committed Jul 21, 2012
    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. add support for TAP request/response with checkpoint info

    mschoch authored and ingenthr committed Feb 24, 2012
    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. Correct test for StringUtils.join().

    ingenthr committed Jul 23, 2012
    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. add TAP Opcodes for start/end checkpoint

    mschoch authored and mikewied committed Feb 24, 2012
    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. Let offline try to work with already downloaded mvn.

    ingenthr committed Jun 26, 2012
    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. JCBC-72: Make OperationException extendable

    mikewied committed Jul 11, 2012
    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. Comment correction in MemcachedConnection. Non-javadoc.

    ingenthr authored and mikewied committed Jun 4, 2012
    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. JCBC-52: Fix StringUtils.join()

    mikewied committed Jun 11, 2012
    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>