Permalink
Commits on Aug 16, 2011
  1. Update commons-codec to 1.5 in .classpath for Eclipse.

    ingenthr committed with mikewied Aug 16, 2011
    Change-Id: I5342fcbdd31a0ed93b58a3e6ee8be9f6f9f75259
    Reviewed-on: http://review.couchbase.org/8995
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. Log warnings when retrying due to not my vbucket.

    ingenthr committed with mikewied Aug 14, 2011
    The existing behavior with not my vbucket errors prior to this
    change would warn when it receives an error to the log, but it
    would not followup that warning with any indication of what it
    did with the operation.  This can cause confusion end users
    are logging what's happening, so give the logging some symmetry
    by logging any retries due to not-my-vbucket.
    
    Change-Id: I14a1a93db924728b087161cdbb98a5e34f9c3f73
    Reviewed-on: http://review.couchbase.org/8984
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Commits on Aug 10, 2011
  1. Spymemcached Issue 134: Performance fix

    pasha407 committed with ingenthr Aug 5, 2011
    Change-Id: I07a57fb676f91f14b74db1499f4cdc17fcd960ab
    Reviewed-on: http://review.couchbase.org/8680
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 21, 2011
  1. All NodeLocator's can be reconfigured.

    Vitaly Rudenya committed with ingenthr Jul 18, 2011
    Change-Id: I51b3b72eb46c781eb3766435f43e57ded683514b
    Reviewed-on: http://review.couchbase.org/8115
    Reviewed-by: Vitaly Rudenya <vitaly.rudenya@altoros.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. VBucketNodeLocator should not implement getSequence()

    ingenthr committed Jul 21, 2011
    Change-Id: Ia0a5c54abca51933995dc307bb5318ebf7dddbce
    Reviewed-on: http://review.couchbase.org/8196
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
  3. Ensure nodesMap updates are safe when topology changes.

    ingenthr committed Jul 13, 2011
    This change much more closely (perhaps too defensively)
    couples the Config and the list of nodes.  It also ensures
    that the Map<String, MemcachedNode> is less prone to
    concurrency problems and fixes a concurrency problem which
    allowed nodes to be removed when receiving a not-my-vbucket
    response.
    
    This indicates we need to make some changes to how the entire
    object model and config list are handled, but just to quickly
    fix a race found, tie together the config and node list when
    locating the right node.
    
    Testing for this is rather manual at the moment.
    
    Change-Id: Ida002fd1d510d20c432e77e01eefbc530d3b34b1
    Reviewed-on: http://review.couchbase.org/8195
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
  4. Encode with commons codec more correctly.

    ingenthr committed Jul 18, 2011
    Apache Commons Codec had introduced a change in 1.4 that had it
    inadvertantly adding extra CRLF to encode responses.  We had worked
    around this issue when writing the initial HTTP authorization
    code, but it turns out commons codec has reverted to the behavior
    in 1.3 with the release of 1.5.
    
    For more info, see https://issues.apache.org/jira/browse/CODEC-89
    
    This change updates commons codec, adds a test to verify correct
    behavior, and addresses potential error handling issues with the
    character set.
    
    Change-Id: I655adc5090249180c3e75fbd35036b15252d093f
    Reviewed-on: http://review.couchbase.org/8125
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  5. Also check for RETRY during clone.

    ingenthr committed Jul 13, 2011
    Change-Id: I23953356c77e72e0fa3ce0a1745dee7eb8faba3f
    Reviewed-on: http://review.couchbase.org/8194
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Jul 19, 2011
  1. Tap streams now pause every 10,000 messages.

    Mike Wiederhold committed with mikewied Jul 18, 2011
    In the previous code I was sending acks back to the server
    immediately and this kind of behavior could cause a heap overflow
    for users who start tap streams but don't process the messages. Now
    the ack messages are queued with the responses and only sent back
    to the server after all mutations sent before the ack was recieved
    are processed.
    
    Change-Id: I0c7c84c2ae5c9cc68d4e9c6f925f9ac6885fae6b
    Reviewed-on: http://review.couchbase.org/8114
    Reviewed-by: Chiyoung Seo <chiyoung.seo@gmail.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
  2. Added ability to do tap dump

    Mike Wiederhold committed with ingenthr Jul 12, 2011
    Change-Id: I8d761b5cd1e0d5a44c1db5cbd62c74167ff51a64
    Reviewed-on: http://review.couchbase.org/7898
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Jul 18, 2011
  1. Added README.markdown.

    Mike Wiederhold committed with mikewied Jul 18, 2011
    Change-Id: I4cd6a9924b9faf0361fbd496dc68a95a01bf6597
    Reviewed-on: http://review.couchbase.org/8121
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. Fixed issue with flags not being added properly to tap messages

    Mike Wiederhold committed with ingenthr Jul 16, 2011
    Change-Id: I17156e804155809cab54569c0906c64afeea99c9
    Reviewed-on: http://review.couchbase.org/8074
    Tested-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
  3. Added the ability to specify the ip address of the testing server

    Mike Wiederhold committed with ingenthr Jul 15, 2011
    We now have the ability to specify the ip address of the server we
    want to test against on the command line. If none is specified then
    the tests will run against localhost. The command line parameters to
    specify the testing server are 'SPYMC_TEST_SERVER_V4' and
    'SPYMC_TEST_SERVER_V6. An example usecase is below.
    
    buildr test SPYMC_TEST_SERVER_V4="10.2.1.58" SPYMC_TEST_SERVER_V6=
    "some_ipv6_addr"
    
    Change-Id: If32bc87f381276bee3f9531090ed9c129369ca4e
    Reviewed-on: http://review.couchbase.org/7650
    Tested-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
Commits on Jul 15, 2011
  1. Made EINTERNAL and ERR2BIG errors throw an exception

    Mike Wiederhold committed with mikewied Jul 14, 2011
    This fix will revert a change that broke user code. These errors
    will now cause the connection to Membase to be reset.
    
    Change-Id: I6fb7d41cc612ef1620ed678f7139ca002dfa2625
    Reviewed-on: http://review.couchbase.org/8006
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 14, 2011
  1. Made TapTest only run against Membase.

    Mike Wiederhold committed with mikewied Jul 13, 2011
    I'm aware that tap works for memcached, but since most people
    are still on a tapless version I don't want to run the tests
    against memcached yet.
    
    Change-Id: Ia5d1d943a59d91ec59419643e9c0af10ae5166ba
    Reviewed-on: http://review.couchbase.org/7936
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. TapOperation's shouldn't be KeyedOperations.

    Mike Wiederhold committed with mikewied Jul 11, 2011
    Change-Id: I4e884755321e68da099be6a9a1a1d22305931e26
    Reviewed-on: http://review.couchbase.org/7890
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  3. Excluded Non-memcached tests when testing memcached

    Mike Wiederhold committed with mikewied Jul 14, 2011
    Change-Id: Iae2bb6381a8a7dd8732cd878a5d9016dc512a627
    Reviewed-on: http://review.couchbase.org/8004
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 11, 2011
  1. Issue 96: ClassPathException fix

    Mike Wiederhold committed with mikewied Jul 11, 2011
    The issue here was that we were combinding multiple types of
    get operations in the same class, but each operation would
    have a different Callback type. When we would go to optimize
    get operations it would optimize get, getl, gat, and gets
    operations and since they have different callback types we
    would throw an exception.
    
    Each operation now has its own class.
    
    Change-Id: I4ca0da4f9638f7fe3a69bbe55dfb3edf30ae13cc
    Reviewed-on: http://review.couchbase.org/7877
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. Added a command line parameter for specifying server type

    Mike Wiederhold committed with mikewied Jun 30, 2011
    The user naow has the ability to specify the server type that
    they are testing against by adding the parameter 'SPYMC_SERVER_TYPE'
    to the command line. The default type is memcached and there are
    three valid types, memcached, membase, and couchbase. An example
    of how to use the parameter is below
    
    buildr test SPYMC_SERVER_TYPE="membase"
    
    Change-Id: I8d4750053cf52734c703bfe80d8c2d42ca353bb0
    Reviewed-on: http://review.couchbase.org/7651
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  3. Fixed a bug where multi-gets didn't work with vb aware constructor

    Mike Wiederhold committed with mikewied Jul 8, 2011
    This fix adds vbucket information to multiget operations
    
    Change-Id: Iee8bea445fe45ef3d822e0f2d0fb9cb8eb20f536
    Reviewed-on: http://review.couchbase.org/7803
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  4. Made an addOperation function private in MemcachedConnection

    Mike Wiederhold committed with mikewied Jul 8, 2011
    addOperation(MemcachedNode, Operation)
    
    This function isn't used outside of MemcachedConnection and it is
    the only one that doesn't put vbucket information into operations.
    It is a helper function of the addOperation(String, Operation) call
    so it doesn't need to add vbucket data but calling it from outside
    the MemcachedClient scope could cause issues
    
    Change-Id: I68fd4bb331fecf89655904396e825b0f42d7a17c
    Reviewed-on: http://review.couchbase.org/7802
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  5. Refactored Operations to improve correctness of vbucket aware ops

    Mike Wiederhold committed with mikewied Jul 8, 2011
    Previously we had operations that implemented classes that they
    should not have been implemented. For example, there were ASCII
    operations that implementing the VBucketAware interface. Since
    ASCII operations must go through moxi and don't contain vbucket
    numbers there is no reason for them to implement this interface.
    
    This commit also contains the addition of SingleKeyOperationImpl
    and MultiKeyOperationImpl which subclass OperationImpl and are
    superclasses to binary operations that contain one or more keys
    correspondingly. This abstraction allows these type of operations
    to deal with vBucket awareness and the amount of keys the operation
    contains in different ways.
    
    Change-Id: Ic7d002ec8e77e2fccc31987fcb1cba1ca14715da
    Reviewed-on: http://review.couchbase.org/7801
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 10, 2011
  1. Removed unused variables in testcases.

    Mike Wiederhold committed with mikewied Jun 30, 2011
    Change-Id: Id9f7154bc40df5e9a6b05a4d52422bd893952d2f
    Reviewed-on: http://review.couchbase.org/7672
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 9, 2011
  1. Added tap client

    Mike Wiederhold committed with ingenthr Jun 8, 2011
    The tap client currently supports doing tap backfill as well as
    being able to specify custom tap streams. Unit tests are included
    to test backfill functionality.
    
    Change-Id: I214d39b2c16ea68867f42a3c75aac565d36e8c21
    Reviewed-on: http://review.couchbase.org/6873
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
  2. Adding a warmup state for nodes.

    ingenthr committed with mikewied Jul 9, 2011
    At some point, the REST interface added warmup as a possible state
    for a node alongside healthy and unhealthy.  This will allow the
    config to understand that state.
    
    Change-Id: Iaa56af63d4ac1182235bf8727296198d1b687688
    Reviewed-on: http://review.couchbase.org/7846
    Tested-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jul 5, 2011
  1. Made operation timeout longer for QueueOverflowTest

    Mike Wiederhold committed with mikewied Jun 30, 2011
    In order to support being able to test spymemcached against servers
    residing on the network we need to increase the timeout of this test
    
    Change-Id: I8760f888138667f42027222ac569bda9bff50c40
    Reviewed-on: http://review.couchbase.org/7649
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. Changed the value size of items used in LongClientTest

    Mike Wiederhold committed with mikewied Jun 30, 2011
    The 32k value used previously worked fine when we were only testing
    clients against localhost, but in the future we want to be able to
    test spymemcached against servers on the network. This high value
    along with the large number of multi-gets done in this test causes
    failures due to not being able to read and write data fast enough.
    As a result timeouts were caused.
    
    The value has been lowered to something more reasonable for now, but
    in the future we should devise a test that will be able to test spy's
    ability to handle multi-gets with large values over a network.
    
    Change-Id: I94c7d61bfb6dd76abf4afccd0796dca99fd4bd0a
    Reviewed-on: http://review.couchbase.org/7647
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  3. Made SyncGetTest failures less sporadic

    Mike Wiederhold committed with mikewied Jun 30, 2011
    Moved the code that sets the items for this test so that it could
    use a MemcachedClient that had a regular timeout. This allows us to
    avoid a possible failure resulting from using the connection that
    has a short timeout. Now only the get (which is surposed to fail)
    uses this short timeout connection
    
    Change-Id: Ic085218bcd6fa53348f70eae13e219a9882b6442
    Reviewed-on: http://review.couchbase.org/7646
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  4. Added source folder for manuel tests to Eclipse config file

    Mike Wiederhold committed with mikewied Jun 25, 2011
    Change-Id: If8cf813fae0e04a138f0eccd908373ccf4331ccb
    Reviewed-on: http://review.couchbase.org/7576
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Jun 29, 2011
  1. Compiler pointed out ignored exception. :(

    dustin committed with mikewied Jun 29, 2011
    Change-Id: I8247911a9e766cfdee615c2c97e9d75a11ee4f52
    Reviewed-on: http://review.couchbase.org/7643
    Tested-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
  2. Fixed some shadowing parameter warnings.

    dustin committed with mikewied Jun 29, 2011
    Change-Id: I187088c114ec00ee2d561a47ae4381e3646aada8
    Reviewed-on: http://review.couchbase.org/7642
    Tested-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
  3. Fix dumb thing compiler warning was pointing out

    dustin committed with mikewied Jun 29, 2011
    We don't need to assert identity property of strings.  :)
    
    Change-Id: Ie418e1e7ba59a21240b1c59f5b3bc25ce0a21539
    Reviewed-on: http://review.couchbase.org/7641
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  4. Added generic to SingleElementFiniteIterator in MemcachedClient.

    Mike Wiederhold committed with mikewied Jun 21, 2011
    Change-Id: Ic3036e6c7929221768bae4069cfcae23b7bedf7f
    Reviewed-on: http://review.couchbase.org/7105
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  5. Added constructor to MemcachedClient that takes a ConnectionFactory

    Mike Wiederhold committed with dustin Jun 28, 2011
    Previously users of the vBucket Aware MemcachedClient of smart client
    were unable to specify specific values for how connections are
    createded. This commit allows uses to pass a ConnectionFactory into
    a vBucket Aware constructor in the MemcachedClient object.
    
    Change-Id: I01653385c1d125ad868e9e018db311597b6ce725
    Reviewed-on: http://review.couchbase.org/7626
    Reviewed-by: Dustin Sallings <dustin@spy.net>
    Tested-by: Dustin Sallings <dustin@spy.net>
Commits on Jun 27, 2011
  1. Adding the repository needed to download netty.

    nelz9999 committed with ingenthr Jun 24, 2011
    Change-Id: I89e021d74048c7364ed209838eb5533c8a40ae86
    Reviewed-on: http://review.couchbase.org/7587
    Tested-by: Matt Ingenthron <matt@couchbase.com>
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>