Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jun 22, 2010
  1. @steveyen

    bug 1512 - don't leak timeout_event registrations

    steveyen authored
    Previously, if the code encountered a not-my-vbucket error
    and wanted to retry the command, it would leak a libevent evtimer
    registration, which eventually led to moxi pegging 100% cpu
    with all the timer events.
    
    Change-Id: I3d966246713b2c095b17ff2ffacb9943e2b90c87
    Reviewed-on: http://review.northscale.com:8080/813
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  2. @steveyen

    bug 1512 - use less deadlock prone pathway for simple cmd retries

    steveyen authored
    for simple ascii-2-binary commands (set, delete, single-key GET's),
    use the upstream_retry counter signalling approach rather
    than the fancy, more race-prone work queues.
    
    Change-Id: Id6b34fe5cbec102ca280094d1261dc5d86eeae30
    Reviewed-on: http://review.northscale.com:8080/812
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  3. @steveyen

    better debug printfs

    steveyen authored
    Change-Id: Ibeef9d43ff729021505e94ecdb710e4902dafcba
    Reviewed-on: http://review.northscale.com:8080/811
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on Jun 21, 2010
  1. @steveyen @CaptTofu

    bug 1450 - optimization for ascii-2-binary single-key GET

    steveyen authored CaptTofu committed
    moxi already had multi-key GET machinery working for ascii-to-binary,
    which was the more complex case (by using GETKQ's and NOOP's).  This
    optimization now handles single-key ascii GET's with a codepath that
    just uses a single binary GETK message.
    
    Change-Id: Ia847073dd5ab5e401f87bf84238c8a0f50a788af
    Reviewed-on: http://review.northscale.com:8080/781
    Tested-by: Patrick M. Galbraith <patg@patg.net>
    Reviewed-by: Patrick M. Galbraith <patg@patg.net>
Commits on Jun 20, 2010
  1. @steveyen @CaptTofu

    key_stats_matcher doesn't have to be multithread safe

    steveyen authored CaptTofu committed
    since each key_stats_matcher is only scoped to a single worker thread,
    it doesn't need to be created with a multithreaded flag of true.
    
    Change-Id: I613011bfa04d7800352a32541730fad0ddb9dc9d
    Reviewed-on: http://review.northscale.com:8080/742
    Tested-by: Patrick M. Galbraith <patg@patg.net>
    Reviewed-by: Patrick M. Galbraith <patg@patg.net>
  2. @steveyen @CaptTofu

    emitting more error codes in ascii-to-binary

    steveyen authored CaptTofu committed
    Change-Id: Ic81f242be2a1e4b75d175a3efc4694b5d57eec07
    Reviewed-on: http://review.northscale.com:8080/743
    Tested-by: Patrick M. Galbraith <patg@patg.net>
    Reviewed-by: Patrick M. Galbraith <patg@patg.net>
Commits on Jun 19, 2010
  1. @steveyen

    bug 1429 - stop retrying after too many ascii-to-binary retries

    steveyen authored
    There are two cases of retry tracking added here, so code
    needed fixing in 2 different places...
    
    - for simple, single-shot mutation commands
    - for scatter-gather GETKQ's and NOOP translation case
    
    Also, fixed a case when the multiget was NULL, introduced
    in a previous performance enhancement fix.
    
    Change-Id: I043f12f9733624b225196c29b144f5b1e02e5852
    Reviewed-on: http://review.northscale.com:8080/700
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
  2. @steveyen

    turn off the front_cache matcher and key_stats by default

    steveyen authored
    for more performance
    
    Change-Id: Idcefbc13bed99952bbd8633f8057b2296301e8d9
    Reviewed-on: http://review.northscale.com:8080/697
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
  3. @steveyen

    moxi is faster without slabber

    steveyen authored
    Using the slabber's global lock is worse than using straight malloc in
    moxi.  This change probably prevents moxi from working right as a
    memcached server, but it'll now be a faster proxy, consuming less CPU
    resource.
    
    Change-Id: I976aa01c1c1a24d665d9cadcfd3e3c8c43fbf095
    Reviewed-on: http://review.northscale.com:8080/696
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Matt Ingenthron <matt@northscale.com>
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
  4. @steveyen

    avoid dedupe map during single-key gets

    steveyen authored
    Change-Id: I84f6ca20ae0b52bce59e543d7de405f2e00923f0
    Reviewed-on: http://review.northscale.com:8080/695
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
  5. @steveyen

    b2b upstream & downstream for simple, non-quiet commands

    steveyen authored
    Change-Id: I25c4e4a4fa1cac101aa19853f47857914dfc0836
    Reviewed-on: http://review.northscale.com:8080/687
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
  6. @steveyen

    negotiating_proxy_prot added

    steveyen authored
    Change-Id: I3891502bacdf0701813060548dc66f8927374492
    Reviewed-on: http://review.northscale.com:8080/686
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
  7. @steveyen

    binary protocol fix to is_compatible_request

    steveyen authored
    Change-Id: Ib7c9d034ceee29502409571c6f0d6f3c4b9030dc
    Reviewed-on: http://review.northscale.com:8080/685
    Reviewed-by: Dustin Sallings <dustin@spy.net>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  8. @steveyen @CaptTofu

    bug 1074 - upstream_error() supports b2b proxying

    steveyen authored CaptTofu committed
    Need to write a binary error response when the upstream protocol
    is binary protocol.
    
    Change-Id: Iacdb108b42abfe6cf57b8e028bd744dd2978a144
    Reviewed-on: http://review.northscale.com:8080/684
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Patrick M. Galbraith <patg@patg.net>
    Reviewed-by: Patrick M. Galbraith <patg@patg.net>
Commits on Jun 18, 2010
  1. @steveyen @dustin

    bug 1431 - moxi invokes vbucket_compare()

    steveyen authored dustin committed
    so that moxi does a better job of reusing pre-existing
    downstream connections.
    
    Change-Id: I9f803b062bf6f94e7d9f0a52d3e697826de29a50
    Reviewed-on: http://review.northscale.com:8080/651
    Reviewed-by: Dustin Sallings <dustin@spy.net>
    Tested-by: Dustin Sallings <dustin@spy.net>
  2. @steveyen

    upstream_retry when multi-GET not-my-vbucket err

    steveyen authored
    Change-Id: Iebbae35b0509cc16cbaf4610a3e433b60b71b94b
    
    In this implementation of handling not-my-bucket errors during
    ascii-to-binary proxying, we use the binary header's opaque field.
    
    moxi uses the opaque field to store either a vbucket id or a key
    index, depending on the command opcode.  The key index is for a char
    array, and is used to retreive the key for a given command.  Given the
    key, moxi can then re-retrieve the vbucket id.
    
    Given the vbucket id, finally, during a not-my-vbucket error, moxi can
    then call the incorrect_master() API of libvbucket.
    
    Change-Id: I8f7f015a4d0392834778654c2b9441f432a09db0
    Reviewed-on: http://review.northscale.com:8080/642
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Patrick M. Galbraith <patg@northscale.com>
    Reviewed-by: Patrick M. Galbraith <patg@northscale.com>
Commits on Jun 17, 2010
  1. @steveyen @dustin

    hooked up vbucket_found_incorrect_master()

    steveyen authored dustin committed
    Change-Id: I20c9da6f775a3532c7406430c261195a0f6b47b8
    Reviewed-on: http://review.northscale.com:8080/635
    Reviewed-by: Dustin Sallings <dustin@spy.net>
    Tested-by: Dustin Sallings <dustin@spy.net>
  2. @steveyen @dustin

    handle not-my-vbucket error for simple, non-get, with-reply cmds

    steveyen authored dustin committed
    Change-Id: I35a1cd83306d13bc6c80735c3a5fdda24f6d5a4f
    Reviewed-on: http://review.northscale.com:8080/634
    Tested-by: Dustin Sallings <dustin@spy.net>
    Reviewed-by: Dustin Sallings <dustin@spy.net>
  3. @steveyen @dustin

    updated moxi's PROTOCOL_BINARY enum's

    steveyen authored dustin committed
    Change-Id: I724f287b0ba2b40c5936aa6c578d4af87b71a8f4
    Reviewed-on: http://review.northscale.com:8080/633
    Tested-by: Dustin Sallings <dustin@spy.net>
    Reviewed-by: Dustin Sallings <dustin@spy.net>
Commits on Jun 15, 2010
  1. @steveyen

    bug 1362 - more casting to allow rhel build

    steveyen authored
    Change-Id: I028108b704f015ccd958962d99c5aecd92ef4e66
    Reviewed-on: http://review.northscale.com:8080/576
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  2. @steveyen

    bug 1362 - moxi should use long long unsigned int

    steveyen authored Patrick M. Galbraith committed
    Change-Id: I4b2a9f18dc2ac7ced7159a7cdbf808b41fa7842b
    Reviewed-on: http://review.northscale.com:8080/570
    Reviewed-by: Patrick M. Galbraith <patg@northscale.com>
    Tested-by: Patrick M. Galbraith <patg@northscale.com>
  3. @steveyen

    bug 1362 - moxi should use uint64 for stats math

    steveyen authored
    Change-Id: I44167cc0e5110b7bdf151dcd5f3820a849df8716
    Reviewed-on: http://review.northscale.com:8080/564
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  4. @steveyen

    better printf during timeout handling

    steveyen authored
    Change-Id: I33a65eab076548d5f98f6de3bd0715e86f43304b
    Reviewed-on: http://review.northscale.com:8080/557
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  5. @steveyen

    bug 1349 - re-enabling verbosity for memcapable

    steveyen authored
    Change-Id: I9238b122967857471dcc611cfcc3e17c4c17a884
    Reviewed-on: http://review.northscale.com:8080/556
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  6. @steveyen

    bug 1349 - moxi ascii-2-binary was messing up noreply semantics.

    steveyen authored
    moxi was treating the downstream binary protocol quiet commands
    incorrectly with the same semantics as the upstream ascii noreply
    commands.
    
    This fix has moxi send translate any ascii noreply commands into a
    binary command with a magic opaque OPAQUE_IGNORE_REPLY value.  Any
    binary responses with that magic opaque value will be dropped by moxi.
    
    Change-Id: Ibb3b14a7493cc3640bf0d7eb2044b028adcfec39
    Reviewed-on: http://review.northscale.com:8080/555
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  7. @steveyen

    more unified debug logging

    steveyen authored
    Change-Id: Ied594afb8718102bc78d6e783437fb6ebdf1abc1
    Reviewed-on: http://review.northscale.com:8080/554
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
  8. @steveyen

    bug 1349 - moxi gets a little more memcapable

    steveyen authored
    Change-Id: Ia796adb406c8866522ac8155536bae2fc3878977
    Reviewed-on: http://review.northscale.com:8080/545
    Reviewed-by: Dustin Sallings <dustin@spy.net>
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on Jun 14, 2010
  1. @steveyen

    comments around magic sizeof numbers

    steveyen authored
    Change-Id: I61ca3a888a66fe09045432b420126debdadbb434
    Reviewed-on: http://review.northscale.com:8080/508
    Tested-by: Patrick M. Galbraith <patg@northscale.com>
    Reviewed-by: Patrick M. Galbraith <patg@northscale.com>
  2. @steveyen

    bug 1306 - incr/decr a2b fixed via sizeof() fixes

    steveyen authored
    incr/decr a2b was failing due to wrong # of header bytes.
    
    I had expected sizeof(protocol_binary_request_decr) to be 44 (24 +
    20), but instead it returns 48.
    
    So, doing the math explicitly instead now, via...
    
      sizeof(protocol_binary_request_header) + 20
    
    Change-Id: Ic3da8bbad4d99a6359634c710a7bd4de3a833c8c
    Reviewed-on: http://review.northscale.com:8080/507
    Tested-by: Patrick M. Galbraith <patg@northscale.com>
    Reviewed-by: Patrick M. Galbraith <patg@northscale.com>
  3. @steveyen

    Bug 1321 - moxi GET was not passing vbucket

    steveyen authored
    All the commands were passing along the vbucket parameter, except
    for the 'get' implementation.  And that is now fixed.
    
    Change-Id: I3e0d89bcaf6e69e9e9761dfc7bb332097de5fa05
    Reviewed-on: http://review.northscale.com:8080/490
    Reviewed-by: Eric Lambert <eric.d.lambert@gmail.com>
    Reviewed-by: Dustin Sallings <dustin@spy.net>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
    Tested-by: Steve Yen <steve.yen@gmail.com>
Commits on Jun 13, 2010
  1. @steveyen

    config string might have newlines

    steveyen authored
    Change-Id: I1909171c8fc68e6bfa516eb5305b638195c2e6fb
  2. @steveyen

    removed JHP_STATS conditional code

    steveyen authored
    So that we're always using the JHP codepath.
    
    Change-Id: I0cbebf5e9e01716d1c46088e18f5f6557b648048
  3. @steveyen

    Added new ascii commands of "stats proxy sub-command".

    Joon(JunHyun Park) authored steveyen committed
    Merged enhancements from...
    
    commit 5aab94b
    Author: Joon(JunHyun Park) <junhyun.park@nhn.com>
    Date:   Tue Jun 8 15:36:15 2010 +0900
    
    Change-Id: I28cfb3f1acf080121afd438e1637fad50d5f3c5a
  4. @steveyen

    Reduce excessive memory usage by stats_prefix.

    Joon(JunHyun Park) authored steveyen committed
    A key without prefix is also registered in stats_prefix structure.
    It uses too much memory and lowers the performance in finding prefixes.
    So, I made the key not having prefix is not registered in stats_prefix.
  5. @dustin @steveyen

    Fixed version.m4 entry in .gitignore.

    dustin authored steveyen committed
    Note that I've got a bit of emacs config that auto-sorts .gitignore as
    well.  It's for the better.
    
    Change-Id: I098916446b31b185bd265cfddb7fdee87649807c
    Reviewed-on: http://review.northscale.com:8080/451
    Tested-by: Steve Yen <steve.yen@gmail.com>
    Reviewed-by: Steve Yen <steve.yen@gmail.com>
Something went wrong with that request. Please try again.