[ 
https://issues.apache.org/jira/browse/KUDU-2566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

HeLifu updated KUDU-2566:
-------------------------
    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.
4.Simplify the logic of CaptureConsistentIterators in tablet.cc.
After modification,  the function logic will be simpler.


  was:
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.
4.Simplify the logic of CaptureConsistentIterators in tablet.cc.
*After modification*,  the function logic will be simpler.



> Enhance rowset tree pruning and discard string copy while querying
> ------------------------------------------------------------------
>
>                 Key: KUDU-2566
>                 URL: https://issues.apache.org/jira/browse/KUDU-2566
>             Project: Kudu
>          Issue Type: Improvement
>          Components: tablet, util
>    Affects Versions: 1.0.0
>            Reporter: HeLifu
>            Priority: Major
>
> 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.
> 4.Simplify the logic of CaptureConsistentIterators in tablet.cc.
> After modification,  the function logic will be simpler.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to