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

higher latency / lower throughput of GROUP_BY query with partitioned index

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 6.5.0
    • 6.5.0
    • query, secondary-index
    • Iris cluster
      OS: CentOS 7
      CPU: Data: E5-2630 v2 (24 vCPU), Query & Index: E5-2680 v3 (48 vCPU)
      Memory: Data & Query: 64GB, Index: 512GB
      Disk: Samsung Pro 850
    • Untriaged
    • Yes

    Description

      Index : 
      CREATE INDEX by_capped_small ON `bucket-1`(capped_small, year, coins) PARTITION BY HASH(year);

      Query (Showfast -> N1QL -> Q5-7 -> CI6):
      SELECT year, SUM(coins) AS coins FROM `bucket-1` WHERE capped_small > $1 AND capped_small < $2 GROUP BY year

      Parameters:

      Request plus, partitioned index
      Looks like only this combination is affected. But its hard to tell for sure because we don't have many tests on partitioned index.

       

      Behavior:
      Latency has increased and Throughput went 30% down since build 6.5.0-1489.
      Comparison between 6.5.0-1488 and 6.5.0-1489:

      http://cbmonitor.sc.couchbase.com/reports/html/?snapshot=iris_650-1489_access_1cce&snapshot=iris_650-1488_access_1160

       

      In addition to higher latency this graph might be interesting:

       

      It's hard for me to track the particular change causing this because the 1489 was a massive merge:

       goproj/src/github.com/couchbase/indexing changed from c6e909a7802359cbc98ed800b7bcb9920d4941a1 to master
      [+] 06062ae Merge remote-tracking branch 'couchbase/unstable' into HEAD
      [+] 97dd385 MB-31600: cherry-picking query change on top of alice
      [+] 98942af MB-31600 Handling secondary indexing on binary docs
      [+] 1a06759 MB-31701: Enable parallel aggregate scan by default
      [+] f330e65 MB-31673 nitro: Add definition of debugMarkFree to compile on non-amd64
      [+] 4a005c0 MB-30207: Fix SUM aggregate query for large integers
      [+] 9aecec9 control and data channel separation in projector
      [+] 492ae03 MB-31577: Use httpMux with indexer https server
      [+] 5a37a8c MB-31502 use waitPersist in RollbackToZero 

      goproj/src/github.com/couchbase/plasma changed from 380d862cbf7b8975b3b1cb7ec69b3264beca591c to master
      [+] 0b606e3 Merge remote-tracking branch 'couchbase-priv/unstable' into HEAD
      [+] 5e0a14f MB-30731: Add lss_recoverypt_size, lss_maxsn_size stats

       

      My bet would be on this one: https://github.com/couchbase/indexing/commit/1a06759c24975940f5e277fbcb106f114e49acd9

       

       

      Logs:

      Index:
      https://s3-us-west-2.amazonaws.com/perf-artifacts/jenkins-iris-12635/172.23.100.45.zip

      Query:
      https://s3-us-west-2.amazonaws.com/perf-artifacts/jenkins-iris-12635/172.23.100.55.zip

      Data:
      https://s3-us-west-2.amazonaws.com/perf-artifacts/jenkins-iris-12635/172.23.100.70.zip
      https://s3-us-west-2.amazonaws.com/perf-artifacts/jenkins-iris-12635/172.23.100.71.zip
      https://s3-us-west-2.amazonaws.com/perf-artifacts/jenkins-iris-12635/172.23.100.72.zip
      https://s3-us-west-2.amazonaws.com/perf-artifacts/jenkins-iris-12635/172.23.100.73.zip

       

       

      Attachments

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

        Activity

          People

            oleksandr.gyryk Alex Gyryk (Inactive)
            oleksandr.gyryk Alex Gyryk (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty