Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-2414

Avoid extractor calls for ordering cursor in join cursor

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.8.0
    • Labels:
      None

      Description

      Hi!
      I found that during condition checks on ordering cursor in join cursor, called extractor. This greatly reduce performance of join cursor, especially if cardinality of ordering cursor is big. As I understand, for checks on ordering cursor, calling of extractor can be avoided, using for comparing with conditions current value of ordering cursor key. Attached program demonstrate the problem. It has next output:

      $ LD_LIBRARY_PATH=wt-2382-join-collator_libs/ ./jcursor_ord_extr                                                                                                                                                               
      value from jcursor: key = 8, v1 = 8, v2 = 8
      value from jcursor: key = 18, v1 = 18, v2 = 8
      value from jcursor: key = 28, v1 = 28, v2 = 8
      value from jcursor: key = 38, v1 = 38, v2 = 8
      value from jcursor: key = 48, v1 = 48, v2 = 8
      value from jcursor: key = 58, v1 = 58, v2 = 8
      value from jcursor: key = 68, v1 = 68, v2 = 8
      value from jcursor: key = 78, v1 = 78, v2 = 8
      value from jcursor: key = 88, v1 = 88, v2 = 8
      value from jcursor: key = 98, v1 = 98, v2 = 8
      Error: extractor for ordering index should not be called. s_extractor1_calls = 100
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                donald.anderson Donald Anderson
                Reporter:
                Denis Shkirya Denis Shkirya
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: