Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 22, 2015
  1. @manudhundi

    In ep_testsuite wait for pending compaction count than just checking …

    manudhundi authored
    …it once
    
    I see sporadic failures only on my local Ubuntu set up.
    This not seen on builds and hence no MB ticket for this.
    Change-Id: I5a35363313f772bea30db33184490173eab55f55
    Reviewed-on: http://review.couchbase.org/50092
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: Manu Dhundi <manu@couchbase.com>
Commits on Apr 21, 2015
  1. @daverigby @chiyoung

    Add Expiry Pager latency test to ep_perfsuite

    daverigby authored chiyoung committed
    Measure the effect the expiry pager has on front-end op
    latency. Results from my laptop:
    
         === Latency [Baseline] - 500000 items (µs) ===================================
    
                                  Percentile
                    Median     95th     99th  Std Dev  Histogram of samples
    
        Add         1.932    3.725    5.703  101.954  ▁▁▁▁▁▁▁▁▁▁▁▁▁▄█▇▇▆▅▄▃▃▂▂▁▁▁▁▁▁▁▁
        Get         0.732    1.128    1.448    0.482  ▁▁▁▁▁▁▇█▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
        Replace     2.148    2.939    4.193    1.961  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▆█▇▆▄▃▂▁▁▁▁▁▁▁▁
        Delete      1.623    2.702    6.028    1.022  ▁▁▁▁▁▁▁▁▁▁▁▁▅█▇▆▄▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁
                                                      0              µs              3
    
        === Latency [With constant Expiry pager] - 500000 items (µs) =================
    
                                 Percentile
                   Median     95th     99th  Std Dev  Histogram of samples
    
        Add         2.123    6.562  538.985  133.967  ▁▁▁▁▁▁▁▁▂▇█▆▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
        Get         0.832    1.554  797.290  143.312  ▁▁▁▁█▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
        Replace     2.346    4.182  802.855  142.265  ▁▁▁▁▁▁▁▁▁▁▄█▇▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
        Delete      1.840    6.264  801.413  142.622  ▁▁▁▁▁▁▁▁▅█▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
                                                      0              µs              6
    
    Change-Id: I041c74ac5e0b4e00cf53cd0795c4b897bf567985
    Reviewed-on: http://review.couchbase.org/49809
    Tested-by: buildbot <build@couchbase.com>
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Commits on Apr 20, 2015
  1. @daverigby @chiyoung

    Create latency peformance tests for ep-engine

    daverigby authored chiyoung committed
    Create a new test library (ep_perfsuite.so) for performance benchmark
    tests, and add test to measure latency of front-end operations.
    
    The new testsuite initially has two tests:
    
    * "baseline latency" - Measure the latency of Create, Get, Replace and
      Delete operations to a single vBucket; with default configuration
      options.
    
    * "defragmenter latency" - Measure the latency of Create, Get, Replace
      and Delete operations to a single vBucket; with the ep-engine
      Defragmenter task configured to run essentially constantly.
    
    Example output (requires UTF-8 for graphs):
    
        === Latency [Baseline] (µs) ==================================================
                                 Percentile           Histogram of samples
                                            Median     95th     99th  Std Dev
    
        Add         1.879    3.687    5.674   28.400  ▁▁▁▁▁▁▁▁▁▁▁▁▁▂█▇▆▆▅▃▂▂▁▁▁▁▁▁▁▁▁▁
        Get         0.717    1.185    1.358    0.459  ▁▁▁▁▁▁█▆▂▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
        Replace     2.139    3.042    4.094    0.890  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▅█▇▅▃▂▂▁▁▁▁▁▁▁▁
        Delete      1.599    2.384    5.528    0.940  ▁▁▁▁▁▁▁▁▁▁▁▂▆█▇▇▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁
                                                      0              µs              3
    
    Change-Id: I05be682bedb339ecb8bd37e4a67f43d0fb960afc
    Reviewed-on: http://review.couchbase.org/49669
    Tested-by: buildbot <build@couchbase.com>
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Commits on Apr 17, 2015
  1. @daverigby @chiyoung

    ep_test_apis: Raise exceptions when attempting to access non-existant…

    daverigby authored chiyoung committed
    … or wrong type of stats
    
    The various get_XXX_stat() functions don't return any errors if a user
    attempts to access a non-existant stat, or they try to read a string
    stat as a int.
    
    Change to use map.at() and stoXXX() which both raise exceptions if the
    input is invalid (key doesn't exist / string can't be converted to
    int). To facilitate some tests which deliberatly access stats which
    may not exist, add new get_XXX_stat_or_default() function which
    returns the given default value if the stat doesn't exist.
    
    Change-Id: I38b637f19c11543b60ef75c2f51bae516b6710ec
    Reviewed-on: http://review.couchbase.org/49854
    Tested-by: buildbot <build@couchbase.com>
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
  2. @daverigby @chiyoung

    ep_testsuite: Fix incorrectly-named stats

    daverigby authored chiyoung committed
    Fix the names of a couple of stats which were incorrect, either due to
    typos or the stat being renamed.
    
    Change-Id: Ic5bf1d2ecd01bcf4815c76d06f7128d69026d2ab
    Reviewed-on: http://review.couchbase.org/49853
    Tested-by: buildbot <build@couchbase.com>
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
  3. @daverigby @chiyoung

    MB-14548: Print bool stats as 'true'/'false', not '1'/'0'

    daverigby authored chiyoung committed
    Also remove some duplicated / unnecessary printing of configuration
    'stats' - these are already all printed by Configuration::addStats().
    
    Change-Id: I7dfab4995b9a92e0e734d1d0d52caf1f672d82e5
    Reviewed-on: http://review.couchbase.org/49850
    Tested-by: buildbot <build@couchbase.com>
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Commits on Apr 15, 2015
  1. MB-14189: Create forestdb file and kvstore instances

    Sriram Ganesan authored
    - Initialize the ForestDB file instance for the shard and the
      the KVStore instances for each of the vbuckets in the shard.
    - Create a stub for getDbFileInfo API for ForestKVStore
    
    Change-Id: Ie98fb86c3b159b669440fa720d1ab9d18f1bae70
    Reviewed-on: http://review.couchbase.org/49480
    Tested-by: buildbot <build@couchbase.com>
    Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Commits on Apr 14, 2015
  1. @abhinavdangeti

    Merge remote-tracking branch 'couchbase/sherlock'

    abhinavdangeti authored
    *MB-14388: Update snapshot range when vbucket changes to active
    
    Change-Id: If3e2e6a436c34487dbffea4134af71c805730aff
  2. @abhinavdangeti

    Fix to compilation warning on Windows

    abhinavdangeti authored
    warning C4146: unary minus operator applied to unsigned type, result
    still unsigned
    
    Change-Id: Id0b9c321ee1feaada224094ad2018ced1aad25e2
    Reviewed-on: http://review.couchbase.org/49626
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  3. @abhinavdangeti

    MB-14388: Update snapshot range when vbucket changes to active

    abhinavdangeti authored
    Update the snapshot range when a vbucket becomes active, from
    being a replica, in a failover scenario, as there is a small
    window when the snapshot_start_seqno can become greater than
    the vbucket_high_seqno.
    
    Change-Id: I7299fb9a70e0f33f152d58fd1dcda33256428c9f
    Reviewed-on: http://review.couchbase.org/49612
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  4. @abhinavdangeti

    [Unittest] Multiple META operations

    abhinavdangeti authored
    This test issues multiple set_with_metas' and del_with_metas'
    and ensures that vbucket item count in memory matches with that
    on disk.
    
    Change-Id: I685169275955494541ea5303a5fe6f5c218c330a
    Reviewed-on: http://review.couchbase.org/49556
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
Commits on Apr 13, 2015
  1. @manudhundi

    MB-14412: Rename tap throttle to replication throttle.

    manudhundi authored
    Since the throttle function is used by modules other than tap like
    DCP as well, it is more appropriate to rename it to replication throttle
    Change-Id: Iee4f07e2329e8f2f5da1d06971af60a5b01cde5d
    Reviewed-on: http://review.couchbase.org/49482
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: Manu Dhundi <manu@couchbase.com>
Commits on Apr 7, 2015
  1. @abhinavdangeti

    Merge remote-tracking branch 'couchbase/sherlock' into MASTER

    abhinavdangeti authored
    Change-Id: I157b6bcc501497b4e9e18252dd66bd5a9e9e71e0
  2. @abhinavdangeti

    Suppress warning during compilation on ubuntu

    abhinavdangeti authored
    Change-Id: I0456de9dd1dc8856865dcc59cbca3a01cd7bbd10
    Reviewed-on: http://review.couchbase.org/49297
    Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  3. @abhinavdangeti

    MB-14279: Disk usage for vbuckets to be tracked during warmup

    abhinavdangeti authored
    Disk Usage stats: fileSize and spaceUsed for every vbucket
    are to be updated during warmup, as obtained from dbinfo.
    
    Change-Id: Ia69f8ad3cd61bbb068355ff3b159d66a03ae7cb9
    Reviewed-on: http://review.couchbase.org/49282
    Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  4. @manudhundi

    MB-14226: Include ext metadata length in flow control calculations

    manudhundi authored
    Both producer and consumer were ignoring the ext metadata length in
    flow control calculations. This could lead to problems in future.
    Hence have right calculations at both producer nad consumer.
    Change-Id: I10f94c9307f4a8246bbaee8c53a6cc9a2bb2f6e6
    Reviewed-on: http://review.couchbase.org/48992
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: Manu Dhundi <manu@couchbase.com>
  5. @manudhundi

    MB-14290: Handle the race condition during incr operation on a non-ex…

    manudhundi authored
    …isting item
    
    When multiple threads try to do incr operation on a non existing (or deleted)
    item EP-Engine sends NOT_STORED_ERROR, which is not a correct behavior. Race
    condition should be handled correctly and the item should undergo incr
    appropriate number of times
    Change-Id: I926930254509aae3c29d46c516c7239d7a5045a6
    Reviewed-on: http://review.couchbase.org/49281
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: Manu Dhundi <manu@couchbase.com>
Commits on Apr 6, 2015
  1. @abhinavdangeti

    Only add items that were deleted to the bloom filter

    abhinavdangeti authored
    Context: PersistenceCallback for Delete(s)
    
    Change-Id: I268d20b76b58612e152377a38fe8ce4c35aa1e83
    Reviewed-on: http://review.couchbase.org/49152
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
    Tested-by: buildbot <build@couchbase.com>
  2. @abhinavdangeti @chiyoung

    Add vbucket-level stats for bloomfilters

    abhinavdangeti authored chiyoung committed
    - FilterSize
    - Key count (more of an approximation, as overlapped
      items will be considered as one)
    
    Change-Id: I4ee1f4da455094fce94fb5681cfd5adf5ea8f9ab
    Reviewed-on: http://review.couchbase.org/49194
    Tested-by: buildbot <build@couchbase.com>
    Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Commits on Mar 26, 2015
  1. @abhinavdangeti

    Merge remote-tracking branch 'couchbase/sherlock' into HEAD

    abhinavdangeti authored
    Change-Id: I43a95658a05c2377ee667e1354d4e3e5eac27d41
  2. @abhinavdangeti

    [Unittest] Stream through DCP from server in DGM

    abhinavdangeti authored
    Set up a DCP stream from a server in DGM scenario,
    and check to ensure we receive all mutations.
    
    Change-Id: I1087603b9a4659ee5e1ff7a4052d81623c794990
    Reviewed-on: http://review.couchbase.org/48745
    Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  3. @abhinavdangeti

    [Unittest] Parallel writes to the same vbucket

    abhinavdangeti authored
    Issue multiple writes(creates) parallely to same
    vbucket to assure no race in the queueDirty function.
    Context: MB-13757
    
    Change-Id: I9bd4c08098c4199bdc226fe580a26a8084d3a994
    Reviewed-on: http://review.couchbase.org/48715
    Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  4. @mikewied

    Add a basic kvstore test

    mikewied authored mikewied committed
    This test is just meant to be a proof of concept that the kvstore
    is acutall modularized. We should add a lot more tests and structure
    the test cases better in the future.
    
    Change-Id: Ia0b8bf19ff28953a36dd2711350d7d164fa8e23e
    Reviewed-on: http://review.couchbase.org/48766
    Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Mar 17, 2015
  1. @abhinavdangeti

    Fix linking error for dcp_last_meta

    abhinavdangeti authored
    Change-Id: Id632684c9a3e65185141f085db73e17c890d6600
    Reviewed-on: http://review.couchbase.org/48416
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  2. @mikewied

    Fix testsuite errors in allocating the extended meta data section

    mikewied authored mikewied committed
     Invalid read of size 1
        at 0x7067804: ExtendedMetaData::ExtendedMetaData(...) (ext_meta_parser.cc:69)
        by 0x702DA1B: dcp_stream.constprop.218 (ep_testsuite.cc:3749)
        by 0x702E768: test_dcp_producer_stream_req_partial (ep_testsuite.cc:3895)
        by 0x4024C6: main (engine_testapp.c:1057)
      Address 0x103340c0 is 0 bytes inside a block of size 5 free'd
        at 0x4C26B26: operator delete[](void*) (vg_replace_malloc.c:515)
        by 0x7D1A98A: DcpProducer::step(dcp_message_producers*) (dcp-producer.cc:327)
        by 0x7D3F4BA: EvpDcpStep (ep_engine.cc:1455)
        by 0x702D854: dcp_stream.constprop.218 (ep_testsuite.cc:3726)
        by 0x702E768: test_dcp_producer_stream_req_partial (ep_testsuite.cc:3895)
        by 0x4024C6: main (engine_testapp.c:1057)
    
    Change-Id: Id030d4b5987ae4dcddec3ec618570da2a54c5e04
    Reviewed-on: http://review.couchbase.org/48413
    Reviewed-by: Manu Dhundi <manu@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  3. @mikewied

    Properly release items in test cases that are got from tap streams

    mikewied authored mikewied committed
    ==18786== 240 (144 direct, 96 indirect) bytes in 2 blocks are definitely lost in loss record 20 of 23
    ==18786==    at 0x4C285BC: operator new(unsigned long) (vg_replace_malloc.c:298)
    ==18786==    by 0x7D76331: StoredValue::toItem(bool, unsigned short) const (stored-value.cc:704)
    ==18786==    by 0x7D327D8: EventuallyPersistentStore::getInternal(...) (ep.cc:1843)
    ==18786==    by 0x7D7FE1B: TapProducer::getNextItem(...) (ep.h:268)
    ==18786==    by 0x7D4A45E: EventuallyPersistentEngine::walkTapQueue(...) (ep_engine.cc:2382)
    ==18786==    by 0x7D4A78E: EvpTapIterator (ep_engine.cc:1420)
    ==18786==    by 0x7036B18: test_tap_sends_deleted (ep_testsuite.cc:5976)
    ==18786==    by 0x4024C6: main (engine_testapp.c:1057)
    
    Change-Id: Id62dbadafc6ebd07d62c4b976f8bc568b763ce7d
    Reviewed-on: http://review.couchbase.org/48343
    Reviewed-by: Manu Dhundi <manu@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  4. @mikewied

    Release item in test_datatype_with_unknown_command

    mikewied authored mikewied committed
     127 (72 direct, 55 indirect) bytes in 1 blocks are definitely lost in loss record 17 of 20
        at 0x4C285BC: operator new(unsigned long) (vg_replace_malloc.c:298)
        by 0x7D76331: StoredValue::toItem(bool, unsigned short) const (stored-value.cc:704)
        by 0x7D327D8: EventuallyPersistentStore::getInternal(...) (ep.cc:1843)
        by 0x7D3EF62: EvpGet (ep.h:268)
        by 0x403A8E: mock_get (engine_testapp.c:163)
        by 0x7014651: test_datatype_with_unknown_command (ep_testsuite.cc:7461)
        by 0x4024C6: main (engine_testapp.c:1057)
    
    Change-Id: Ieb826375f0ed62b73414e28fa2c18304c9ff5a1f
    Reviewed-on: http://review.couchbase.org/48342
    Reviewed-by: Manu Dhundi <manu@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Mar 16, 2015
  1. @mikewied

    Delete operator should match allocation operator

    mikewied authored mikewied committed
     Mismatched free() / delete / delete []
        at 0x4C26FD6: operator delete(void*) (vg_replace_malloc.c:480)
        by 0x7052489: test_all_keys_api (ep_testsuite.cc:7926)
        by 0x4024C6: main (engine_testapp.c:1057)
      Address 0x103cc310 is 0 bytes inside a block of size 4 alloc'd
        at 0x4C28152: operator new[](unsigned long) (vg_replace_malloc.c:363)
        by 0x7052425: test_all_keys_api (ep_testsuite.cc:7919)
        by 0x4024C6: main (engine_testapp.c:1057)
    
    Change-Id: I75ed0836e365720d1829c9430bf7ff8305633cdc
    Reviewed-on: http://review.couchbase.org/48340
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
  2. @mikewied

    We need to free an release items after allocating them in tests

    mikewied authored mikewied committed
     119 (72 direct, 47 indirect) bytes in 1 blocks are definitely lost in loss record 17 of 20
        at 0x4C285BC: operator new(unsigned long) (vg_replace_malloc.c:298)
        by 0x7D4893F: EvpItemAllocate (ep_engine.h:206)
        by 0x403C90: mock_allocate (engine_testapp.c:85)
        by 0x706D72D: storeCasVb11(...) (ep_test_apis.cc:787)
        by 0x703AEB9: test_prepend (ep_testsuite.cc:942)
        by 0x402476: main (engine_testapp.c:1057)
    
    Change-Id: I812ba0cbe423c33976bc2c56dae61809c8ee8a58
    Reviewed-on: http://review.couchbase.org/48214
    Reviewed-by: Michael Wiederhold <mike@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Mar 13, 2015
  1. MB-13864: return extras only if enabled in meta requests

    Sriram Ganesan authored
    The vbucket uuid and sequence number should not be returned as
    part of the extras section unless it has been explicitly requested
    using the HELLO command on that connection.
    
    Change-Id: I83c28f553ff75d99f9ce60a70b59f90a012ec6bc
    Reviewed-on: http://review.couchbase.org/48063
    Tested-by: Sriram Ganesan <sriram@couchbase.com>
    Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
Commits on Mar 12, 2015
  1. @mikewied

    Delete the extra meta data section in DCP test cases

    mikewied authored mikewied committed
    Change-Id: I17fc1555a7a5fa47394a32d71a4477a76b4591b1
    Reviewed-on: http://review.couchbase.org/48185
    Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
    Reviewed-by: Manu Dhundi <manu@couchbase.com>
    Tested-by: Michael Wiederhold <mike@couchbase.com>
Commits on Feb 20, 2015
  1. @abhinavdangeti

    Set nvalue to 1 before calling get_item_info

    abhinavdangeti authored
    Change-Id: I3e48586ca43b7bace879618446bba59eb5ab81af
    Reviewed-on: http://review.couchbase.org/47133
    Reviewed-by: Sriram Ganesan <sriram@couchbase.com>
    Reviewed-by: Manu Dhundi <manu@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  2. @abhinavdangeti

    Merge remote-tracking branch 'gerrit/3.0.3'

    abhinavdangeti authored
    Change-Id: Id9b426d6e209ce40ae72c34d2b55f234b9b0bbbf
  3. @abhinavdangeti

    Fix build breakage on ubuntu

    abhinavdangeti authored
    Change-Id: Ic8d7b9c17086a612b55e2c84a26259081d29c8d4
    Reviewed-on: http://review.couchbase.org/47107
    Reviewed-by: Manu Dhundi <manu@couchbase.com>
    Tested-by: abhinav dangeti <abhinav@couchbase.com>
  4. @manudhundi

    Merge remote-tracking branch 'couchbase/3.0.3'

    manudhundi authored
    Change-Id: I4f2ab37bd02943a3ad0972f0a49fcebe80fbbfaa
Something went wrong with that request. Please try again.