Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-2566

Enhance rowset tree pruning and discard string copy while querying

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Done
    • 1.0.0
    • 1.8.0
    • tablet, util
    • None

    Description

      1.Support open-ended intervals:
      In our kudu source code, we just cull row-sets when lower_bound_key and exclusive_upper_bound_key are existing at the same time. And if not, we will grab all row-sets of the tablet, then have to seek the key in ‘CFileSet::Iterator::PushdownRangeScanPredicate’ for the unnecessary row-sets (which will waste disk io).
      After modification, we could cull rowsets whether lower_bound_key or exclusive_upper_bound_key exists or not;

      2.The upper bound key is exclusive, but the RowSetTree function takes an inclusive interval. So, we might end up fetching one more rowset than necessary.
      After modification, the upper bound will only fetch the exactly rowsets;

      3.Perf improvement: using raw slices instead of copying to strings while querying.
      After modification, the copying from slices to string is discarded.

      Attachments

        Activity

          People

            helifu LiFu He
            helifu LiFu He
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: