Hi, I have updated my pull request as discussed. https://github.com/apache/hbase/pull/4119
Niels On Sun, Feb 20, 2022 at 3:12 PM 张铎(Duo Zhang) <[email protected]> wrote: > 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 > > > -- Best regards / Met vriendelijke groeten, Niels Basjes
