Niels Basjes <[email protected]> 于2022年2月20日周日 22:06写道:
> Hi, > > Ok, a rename of the method to avoid confusion is fine with me. > I suspect people will find the setPrefixScan suggestion also too confusing. > How about setStartStopRowForPrefixScan ? > +1 > > Niels > > > > > > On Sun, Feb 20, 2022 at 12:45 PM 张铎(Duo Zhang) <[email protected]> > wrote: > > > I think the name is a bit confusing, the name says it is a filter but > > actually it will change the start and stop row. > > > > So I prefer we deprecate the current setRowPrefixFilter and introduce a > > new method which has the same logic of the current method, maybe called > > setPrefixScan? > > > > Thanks. > > > > Niels Basjes <[email protected]> 于2022年2月20日周日 00:13写道: > > > > > Hi, > > > > > > Long time ago (> 7 years back) I wrote the Scan#setRowPrefixFilter > method > > > to make doing a prefix scan a lot easier and a lot more efficient. > > > https://issues.apache.org/jira/browse/HBASE-11990 > > > > > > Today I was talking with a colleague and we found that recently this > > method > > > has been marked as deprecated for the upcomming HBase 3.0.0 > > > https://issues.apache.org/jira/browse/HBASE-25299 > > > > > > When looking into this ticket I found that the people who did this > > > apparently misunderstood the working of this function and deprecated it > > > because it did not behave as they expected it to behave. > > > > > > It behaves exactly as designed and intended. > > > > > > The key thing is that this method does a complex calculation to set the > > > right startRow and stopRow to get to a very efficient prefix scan. > > > If you add your own calls to set the startRow and stopRow then > > > - these will be wiped (i.e. you do not get what you expected) if you do > > > them before the setRowPrefixFilter > > > - these will yield undefined results if you do them after the > > > setRowPrefixFilter > > > > > > Apparently the documentation I wrote in this part all those years ago > was > > > not clear enough that you should not do this. > > > I disagree with the deprecation because of this misunderstanding. > > > > > > So I created an issue and pull request to fix this. > > > - Remove the deprecation > > > - Improve the documentation that you should not use them in > combination. > > > > > > https://issues.apache.org/jira/browse/HBASE-26762 > > > https://github.com/apache/hbase/pull/4119 > > > > > > -- > > > Best regards / Met vriendelijke groeten, > > > > > > Niels Basjes > > > > > > > > -- > Best regards / Met vriendelijke groeten, > > Niels Basjes >
