Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Nov 19, 2011
  1. @steveyen @bcui6611

    X out passwords from stats proxy

    steveyen authored bcui6611 committed
    The "stats proxy" command will now show XXX'ed out passwords,
    like...
    
      STAT 11211:test:info:config { "name": "test", "saslPassword": "XXXXXXXX"
    
    Change-Id: I0edc0f0b9c017abdbdba47b75e88f4ba4802243d
    Reviewed-on: http://review.couchbase.org/11037
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
Commits on Nov 1, 2011
  1. @steveyen

    Capture the dtrace scripts from Dustin Sallings

    steveyen authored
    Change-Id: I6ecd29edb4d310edebda717b5793ff0ea0ae11ea
    Reviewed-on: http://review.couchbase.org/9563
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
Commits on Oct 29, 2011
  1. @steveyen

    cproxy_forward assert(d->upstream_conn != NULL) cproxy.c, 1925

    steveyen authored
    Here's the (rather involved) scenario where the assert would be triggered...
    
    * start a rebalance.  The rebalance should be slow, where each vbucket
      migration takes awhile.
    
    * a multi-get command (with lots of keys) is processed by moxi, and
      moxi scatters out downstream GET requests to the involved nodes.
    
    * one downstream request will result in a NOT_MY_VBUCKET response from
      a node, which will make moxi register for a retry of the command
      again later (XXX).
    
    * a different downstream request hits a pending vbucket, meaning it's
      going to block moxi on that request, so moxi can't make progress on
      that multi-get command.
    
    * the rebalance is going very slowly, so next...
    
    * moxi's downstream_timeout timer gets fired, so...
    
    * moxi sends an error back up to the upstream client.
    
    * THEN, since a retry was registered at step XXX above due to the
      NOT_MY_VBUCKET, moxi next incorrectly goes through retry codepaths
      and the assert() catches this bad move.
    
    Change-Id: I4aea4e130ad55bbd2400bbbcd0547a86bddbc5da
    Reviewed-on: http://review.couchbase.org/10039
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  2. @nimishzynga @steveyen

    Unit test script for enabling event on downstream connection

    nimishzynga authored steveyen committed
    Change-Id: Id6329c5bb9cebed6d1231a8aff00dfd465e19e5a
    Reviewed-on: http://review.couchbase.org/9744
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  3. @nimishzynga @steveyen

    Moxi change for enabling event on downstream connection in pause state

    nimishzynga authored steveyen committed
    when we put the downstream connection in conn_pause state, we disable the
    events on that.  So if the connection get closed, we know only when we linked
    that connection to upstream connection ,forward the upstream command to that
    connection and wait for read event on that.When we wait for read event,
    we come to know that connection has closed.
    This fix is to enable read event on the downstream connection in pause state,
    so  we will know if server send extra data for a command or closes the connection.
    
    Change-Id: Iff50b252a04a8036bb901849953eac557ef8cf9d
    Reviewed-on: http://review.couchbase.org/9717
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
Commits on Sep 23, 2011
  1. @nimishzynga @steveyen

    Adding changes for binary protocol when key with getl is not found

    nimishzynga authored steveyen committed
    This is related to change ID Ib1114094064e1bb7cc9ae42e412f3ab3a934fe0c.
    Extending the same fix for binary protocol.
    
    Change-Id: Ibee2df61a726b70330104353097b528730b874fa
    Reviewed-on: http://review.couchbase.org/9690
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on Sep 14, 2011
  1. @nimishzynga @steveyen

    Moxi in compatibility mode crashed after downstream timeout

    nimishzynga authored steveyen committed
    when there is not free downstream connection, downstream is put into the downstream
    queue, and if the downstream conn queue timeout happens, we try to remove it from the
    downstream queue but it is not removed from the queue since the host identifier is different
    during insert and remove in the downstream queue and if the downstream connection is
    closed, we try to send error to all downstream waiting.Then we try to send error to
    released downstream which don't have upstream and moxi crashed.
    
    Change-Id: I789618a617878e04bd65449cad5dff9f78a256c2
    Reviewed-on: http://review.couchbase.org/9547
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  2. @nimishzynga @steveyen

    Moxi in mcmux mode give error if default(or behaviour) downstream pro…

    nimishzynga authored steveyen committed
    …tocol is ascii
    
    when moxi running in mcmux mode, if client want to use binary protocol between
    moxi and membase, it will send B:host:port <command>, so the peer_protocol of
    upstream connection will be binary but we will send still in ascii to membase since
    default behaviour is ascii. When we get response from membase, we check that that
    upstream connection's peer protocol is binary, so try to parse ascii response with
    binary handler and it fails.
    
    Change-Id: I26f097bc7d20a0e11c76560c8be54a9dda6b05b1
    Reviewed-on: http://review.couchbase.org/9554
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  3. @nimishzynga @steveyen

    Moxi returns END when key with getl is not found

    nimishzynga authored steveyen committed
    ep-engine returns NOT_FOUND when getl is done with non-existent key but moxi converts
    the NOT_FOUND to END and send END to client
    
    Change-Id: Ib1114094064e1bb7cc9ae42e412f3ab3a934fe0c
    Reviewed-on: http://review.couchbase.org/9551
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on Aug 16, 2011
  1. @trondn @chiyoung

    Include <sys/types.h> early in config_static.h

    trondn authored chiyoung committed
    Not all platforms provide a tcp.h that can be included without
    the types defined there...
    
    Change-Id: I7a44b9a035e220addbc9c0e2eb54acbee8ae3c6b
    Reviewed-on: http://review.couchbase.org/9007
    Tested-by: Trond Norbye <trond.norbye@gmail.com>
    Reviewed-by: Chiyoung Seo <chiyoung.seo@gmail.com>
Commits on Aug 12, 2011
  1. @trondn

    Build strsep for platforms who don't have one

    trondn authored Srinivas Vadlamani committed
    Change-Id: I5526e52d1ad0f183c65394447fe3e6881a2ff03d
    Reviewed-on: http://review.couchbase.org/8906
    Reviewed-by: Srinivas Vadlamani <srinivas@couchbase.com>
    Tested-by: Srinivas Vadlamani <srinivas@couchbase.com>
Commits on Jul 7, 2011
  1. @steveyen

    MB-2897 - use 64-bits for msec_current time

    steveyen authored
    32-bits overlows after 49+ days, and 64-bits should be enough for
    anybody.
    
    Change-Id: I769839ee4cb41f10ce808cf7f669c0cd1beb7245
    Reviewed-on: http://review.couchbase.org/7748
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on Jun 23, 2011
  1. @steveyen

    MB-4003 - Allow empty binary stats values, part 2

    steveyen authored
    Change-Id: Ice66eff1997d9c98d2542c02735d892bf9d2b696
    Reviewed-on: http://review.couchbase.org/7151
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  2. @steveyen

    MB-4003 - Allow empty binary stats values

    steveyen authored
    Change-Id: I167537f1b80ecf1ff1146b9618ae40e1fff9c6d8
    Reviewed-on: http://review.couchbase.org/7148
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on Jun 14, 2011
  1. @mikewied

    MB-3949. Getl doesn't pass expiration info correctly

    mikewied authored mikewied committed
    Fixed the ASCII to binary protocol conversion to correctly place
    the expiration time for a getl into the correct binary field.
    
    Change-Id: Ifa35e32166ad65895de80d70f5844885457502ec
    Reviewed-on: http://review.couchbase.org/6975
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on May 25, 2011
  1. @steveyen

    MB-3799 - moxi default libmemcached hashing is now ketama_weighted

    steveyen authored
    Change-Id: I84c498913f9f816ecd4a084375cccbe67b556967
    Reviewed-on: http://review.membase.org/6537
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on May 23, 2011
  1. @steveyen @bcui6611

    TOUCH ascii-to-binary

    steveyen authored bcui6611 committed
    Change-Id: Icf6d56350a57895a0e5b13c101c8f68755c89011
    Reviewed-on: http://review.membase.org/6460
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
  2. @steveyen @bcui6611

    binary protocol codes for TOUCH, GAT/Q, EVICT, SYNC, etc

    steveyen authored bcui6611 committed
    Change-Id: I190e1e2348fcc9fa3695175f4a86e1764b6de4c7
    Reviewed-on: http://review.membase.org/6459
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
Commits on May 19, 2011
  1. @steveyen @bcui6611

    Skip moxi decr wraparound test

    steveyen authored bcui6611 committed
    Skipping a part of the incrdecr.t unit test, which was inherited from
    memcached, as it's testing moxi running in "pretend-to-be-memcached"
    mode.  That mode is deprioritized right now.
    
    Change-Id: I2827e00f4a902c26e7832e48b5645aec6d0a2033
    Reviewed-on: http://review.membase.org/6362
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
  2. @steveyen @bcui6611

    MB-3575 - conflate new_config() call signature changed

    steveyen authored bcui6611 committed
    Provide a useful response to the new_config() callback, where moxi can
    tell conflate that it received a bogus config.  conflate can then try
    to contact an alternative REST config server.
    
    Change-Id: I19a76db41dd161e62938d4ef6b5738d1a7aab7f5
    Reviewed-on: http://review.membase.org/6342
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
Commits on May 18, 2011
  1. @steveyen

    MB-3856 - SERVER_ERROR proxy downstream timeout $HOST

    steveyen authored
    The $HOST is only appended during timeout of single-server commands
    (get, set, delete, etc) which are the single-key commands.  Broadcast
    commands (like flush_all) won't have the $HOST appended during a
    timeout.
    
    Change-Id: I40c307a2ea4974aca6b884054da1f935ea8216a4
    Reviewed-on: http://review.membase.org/6315
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  2. @steveyen

    MB-3575 - Pass around conflate src/url for debuggability

    steveyen authored
    Emit the url/src information during REST parsing errors.
    
    Change-Id: Ib559ac33be17e178dce6b5d8a299cde5a2df38e4
    Reviewed-on: http://review.membase.org/6338
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on May 16, 2011
  1. @steveyen @alk

    MB-3849 - SERVER_ERROR proxy write to downstream $HOST

    steveyen authored alk committed
    Changed the error message to include the downstream host which moxi
    could not propagate the request to.
    
    Change-Id: Ia3e0bbc7ccf2f2ae203aaff56b60f571a1036b75
    Reviewed-on: http://review.membase.org/6269
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  2. @steveyen @alk

    MB-3849 - SERVER_ERROR proxy downstream closed $HOST_IDENT

    steveyen authored alk committed
    Change-Id: Ibe9fd62bc76fc1f14554977f592ef347f871d734
    Reviewed-on: http://review.membase.org/6268
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  3. @steveyen @alk

    MB-3479 - Use binary protocol AUTH_ERROR on null bucket access

    steveyen authored alk committed
    When the client tries to do operations on the so-called "NULL bucket",
    instead of returning a binary protocol response ENOMEM, respond with
    the PROTOCOL_BINARY_RESPONSE_AUTH_ERROR result code.
    
    Change-Id: I0efed77c4dbc2782fad1d8638a7ec7fe42313e21
    Reviewed-on: http://review.membase.org/6267
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
  4. @steveyen @alk

    MB-3845 - Improved rehabilitation of a born-again conn

    steveyen authored alk committed
    It's possible that a conn_new() reuses a conn structure from the
    freelist rather than from calloc().  Initialize the fields of that
    recycled conn better.
    
    Change-Id: Ib0f491106980f4648c0c60a1ab3c9c5af61a4486
    Reviewed-on: http://review.membase.org/6265
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Commits on May 14, 2011
  1. @steveyen

    MB-3479 - Use binary protocol EBUSY & EINTERNAL instead of ENOMEM

    steveyen authored
    Instead of over-using the OOM / ENOMEM binary protocol response
    error...
    
    - Return EBUSY during a timeout.
    - Return EINTERNAL for closed sockets & down servers.
    - Return ENOMEM when memcached returns ENOMEM.
    
    Also, use EINTERNAL rather than ENOMEM as the generic catch-all error
    code, which should reduce confusion ("but, I'm not actually out of
    memory").
    
    Change-Id: I207903f0c4d5b967866c67cb61ac3b43a832d5cd
    Reviewed-on: http://review.membase.org/6177
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
Commits on May 12, 2011
  1. @steveyen

    Updated usage() for mcs_opts

    steveyen authored
    Change-Id: I260ab871bd564a744ed0d86913cbe74a249ddb2f
    Reviewed-on: http://review.membase.org/6159
    Reviewed-by: Matt Ingenthron <matt@couchbase.com>
    Tested-by: Matt Ingenthron <matt@couchbase.com>
  2. @trondn @alk

    MB-3812 Upgrade pandora_check_cxx_standard.m4

    trondn authored alk committed
    Change-Id: I8634c1899b85328f7ed0b1a71b08c9fd56a7b42d
    Reviewed-on: http://review.membase.org/6182
    Tested-by: Trond Norbye <trond.norbye@gmail.com>
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Commits on May 11, 2011
  1. @steveyen

    MB-3798 - moxi option for ketama/weighted/modula item distributions

    steveyen authored
    When using libmemcached, start moxi with an extra -Z key=value
    configuration option...
    
      moxi -Z mcs_opts=distribution:ketama
      moxi -Z mcs_opts=distribution:ketama-weighted
      moxi -Z mcs_opts=distribution:modula
    
    In this commit, moxi stays with distribution:ketama as its default and
    a later debate can change that.
    
    Change-Id: I36d3df3a2ba79c9d793a5e1e1a31d0d24ba48450
    Reviewed-on: http://review.membase.org/6138
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Matt Ingenthron <matt@northscale.com>
Commits on May 9, 2011
  1. @alk @steveyen

    shutdown moxi on EOL in addition to EOF

    alk authored steveyen committed
    So that erlang can reliably shutdown moxi.
    
    Change-Id: Ie31b4b577a5454115e251c92392306337e6be988
    Reviewed-on: http://review.membase.org/6070
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
Commits on May 8, 2011
  1. @steveyen @alk

    MB-3774 - detect binary broadcast cmd properly

    steveyen authored alk committed
    With binary upstream clients, the uc->cmd_curr field is -1.
    Instead, we should be detecting against the uc->cmd field.
    
    Change-Id: I7cd337fb3a6fd8748e4a0e4df2d4edb93977c71c
    Reviewed-on: http://review.membase.org/6067
    Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Commits on May 7, 2011
  1. @steveyen

    Fix auth B2B tests that depended on old timeout config

    steveyen authored
    A previous commit (0b23b54) changed the default timeout settings
    to be more user friendly for client-side moxi cases, but some auth B2B
    tests were depending on the old (rather generous) timeout settings,
    which this change now makes explicit.
    
    Change-Id: Id23365ade273ec301e5c2e7ecc1b068e40f6e521
    Reviewed-on: http://review.membase.org/6037
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on May 5, 2011
  1. @steveyen

    MB-3742 - 512 ought to be enough for any stats

    steveyen authored
    Change-Id: I36d29bb60f05946ac945301f884eb4aed26b766e
    Reviewed-on: http://review.membase.org/5936
    Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on May 2, 2011
  1. @steveyen

    Exit if empty -z configuration

    steveyen authored
    Change-Id: I591319f81f1e8ed1f42d9d709876f774eb05159b
    Reviewed-on: http://review.membase.org/5836
    Reviewed-by: Bin Cui <bin.cui@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Something went wrong with that request. Please try again.