Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-20287

Q2, Q3, CI2, CI3 stale=false latency increased by ~100% in Spock (fdb only)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Fix
    • Critical
    • 5.0.0
    • 5.0.0
    • forestdb
    • Iris cluster: 4 data nodes, 1 n1ql node, 1 index node.
      CentOS 7; CPU Data: E5-2630 v2 (24 vCPU), Query & Index: E5-2680 v3 (48 vCPU); Memory Data: 64GB, Query & Index: 256GB

    Description

      Regression happened in build 4.7.0-876 after the following changes:

      CHANGELOG for forestdb
       
       * Commit: <a href='https://github.com/couchbase/forestdb/commit/7bc7cfc7728442ec211031f88b6fb1c674223ba7'>7bc7cfc7728442ec211031f88b6fb1c674223ba7</a> (in build: 876)
         Author: Sundar Sridharan
         <a href="https://issues.couchbase.com/browse/MB-18747">MB-18747</a>: Maintain snapshots in lists instead of avl trees
         
         Lists allow for lock free traversal in one part while
         concurrent modifications are happening to another part of the list.
         With avl trees this is not possible since some modifications can
         incur tree rotations.
         
         Change-Id: I7b2e1fb8f55a09fe63b2da936f86c91577047255
         Reviewed-on: <a href="http://review.couchbase.org/63762">http://review.couchbase.org/63762</a>
         Tested-by: buildbot <build@couchbase.com>
         Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
       
       
       * Commit: <a href='https://github.com/couchbase/forestdb/commit/2b543a8dbecbb3c75ad3b5eff54fd1528e832b00'>2b543a8dbecbb3c75ad3b5eff54fd1528e832b00</a> (in build: 876)
         Author: Sundar Sridharan
         <a href="https://issues.couchbase.com/browse/MB-18747">MB-18747</a>: Enable MVCC WAL
         
         Change-Id: I9ccbd3580fb4371f3dc5c0ee376be146e463a2c6
         Reviewed-on: <a href="http://review.couchbase.org/65511">http://review.couchbase.org/65511</a>
         Tested-by: buildbot <build@couchbase.com>
         Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
       
       
       * Commit: <a href='https://github.com/couchbase/forestdb/commit/a54d2f706b2fa6f93c6b006e4278dd2046a8a25c'>a54d2f706b2fa6f93c6b006e4278dd2046a8a25c</a> (in build: 876)
         Author: Sundar Sridharan
         <a href="https://issues.couchbase.com/browse/MB-18747">MB-18747</a>: Lock-Free MVCC WAL Snapshots
         
         + Insert each version of key (wal_item) into the latest mutable
           snapshot key and sequence trees of its KV Store
         + Snapshot open marks latest mutable snapshot as immutable
         + New inserts do not overwrite immutable snapshot items
           but will always go into their own mutable snapshot tree
         + Snapshot iterators do overlapping merge-sort over all
           past snapshots lock-free unaffected by concurrent mutations
         + Sequence iterators do simple merge-sort over all past
           snapshots lock-free
         + Snapshot close decrements ref_counts on current and past
           snapshot handles
         + WAL flush removes all items and snapshots which are closed.
         This avoids the concurrency issues seen in golang when
         very large number of iterator_init calls are made.
         
         Change-Id: I9ad0ad9e30923b152fed0db1d9bee6a927a0aabf
         Reviewed-on: <a href="http://review.couchbase.org/65198">http://review.couchbase.org/65198</a>
         Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
         Tested-by: buildbot <build@couchbase.com>
       
       
       * Commit: <a href='https://github.com/couchbase/forestdb/commit/0348c70b70180ebd082da95329b4df60539f69e4'>0348c70b70180ebd082da95329b4df60539f69e4</a> (in build: 876)
         Author: Sundar Sridharan
         <a href="https://issues.couchbase.com/browse/MB-18747">MB-18747</a>: Ref count past snapshots to simplify garbage collection
         
         Each new snapshot simply increments ref count on prior snapshots
         until wal flush. When snapshot is closed, ref counts of past
         snapshots are decremented.
         This allows for simple and O(1) checks during garbage collection
         and eliminates the _wal_can_discard() complexity completely.
         
         Change-Id: Ic9ac858275c7c0cd5a7b6e25a2224a63bd9aff64
         Reviewed-on: <a href="http://review.couchbase.org/63763">http://review.couchbase.org/63763</a>
         Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
         Tested-by: Chiyoung Seo <chiyoung@couchbase.com>
       
       
       * Commit: <a href='https://github.com/couchbase/forestdb/commit/5d0563776d50618e39fa342f9c352d884211480d'>5d0563776d50618e39fa342f9c352d884211480d</a> (in build: 876)
         Author: abhinavdangeti
         Address leak found with prev_filename through address sanitizer
         
         14:27:10 Direct leak of 16 byte(s) in 1 object(s) allocated from:
         14:27:10     #0 0x4cde12 in __interceptor_malloc (/home/couchbase/jenkins/workspace/forestdb-addresssanitizer-master/build/forestdb/tests/functional/multi_kv_functional_test+0x4cde12)
         14:27:10     #1 0x56cc2c in fdb_fetch_header /home/couchbase/jenkins/workspace/forestdb-addresssanitizer-master/forestdb/src/forestdb.cc:249:34
         14:27:10     #2 0x56f38a in _fdb_open /home/couchbase/jenkins/workspace/forestdb-addresssanitizer-master/forestdb/src/forestdb.cc:1737:13
         14:27:10     #3 0x57484b in fdb_open_custom_cmp /home/couchbase/jenkins/workspace/forestdb-addresssanitizer-master/forestdb/src/forestdb.cc:898:10
         14:27:10     #4 0x4f1ae0 in multi_kv_test(unsigned char, unsigned long) /home/couchbase/jenkins/workspace/forestdb-addresssanitizer-master/forestdb/tests/functional/multi_kv_functional_test.cc:438:13
         14:27:10     #5 0x50e2b3 in main /home/couchbase/jenkins/workspace/forestdb-addresssanitizer-master/forestdb/tests/functional/multi_kv_functional_test.cc:2527:13
         14:27:10     #6 0x2b8e2aa0e76c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226
         
         Change-Id: Ib923774ff6508dd296590bf910375a1090a7dcde
         Reviewed-on: <a href="http://review.couchbase.org/65698">http://review.couchbase.org/65698</a>
         Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
         Tested-by: Chiyoung Seo <chiyoung@couchbase.com>
      

      Logs, build 875 (before regression): http://perf.jenkins.couchbase.com/view/Weekly%20Linux/job/iris-fdb/264/artifact/
      Logs, build 876 (regression): http://perf.jenkins.couchbase.com/view/Weekly%20Linux/job/iris-fdb/265/artifact/
      Logs, build 929 (improvements from query team): http://perf.jenkins.couchbase.com/view/Weekly%20Linux/job/iris-fdb/266/artifact/

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              pavelpaulau Pavel Paulau (Inactive)
              pavelpaulau Pavel Paulau (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty