Thanks for suggestion and review.
UT updated.
Viraj Jasani <vjasani@apache.org> 于2020年11月20日周五 下午5:36写道:
> +1 to deprecating setRowPrefixFilter. PR looks good, as I commented
> yesterday, if you could include your nice example as a unit test with this
> PR, that would be really great.
> Thanks for this nice find!
>
>
> On Thu, 19 Nov 2020 at 6:02 AM, Guanghao Zhang <zghaobac@gmail.com> wrote:
>
> > I am +1 to deprecated setRowPrefixFilter method. This method name is
> > setRowPrefixFilter but not use filter and only set start row and end
> row. I
> > thought this could be done by user.
> >
> > 唐天航 <tangtianhang099@gmail.com> 于2020年11月19日周四 上午12:45写道:
> >
> > > Hi,
> > > I have opened an issue HBASE-25299
> > > <https://issues.apache.org/jira/browse/HBASE-25299> about
> > > Scan#setRowPrefixFilter
> > > Unexpected behavior.
> > >
> > > e.g.
> > >
> > > startRow : "112"
> > >
> > > rowPrefixFilter : "11"
> > >
> > > The Result of this scan might contain : "111", which is unexpected.
> > >
> > > public Scan setRowPrefixFilter(byte[] rowPrefix) {
> > > if (rowPrefix == null) {
> > > setStartRow(HConstants.EMPTY_START_ROW);
> > > setStopRow(HConstants.EMPTY_END_ROW);
> > > } else {
> > > this.setStartRow(rowPrefix);
> > >
> this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));
> > > }
> > > return this;
> > > }
> > >
> > > Scan#setRowPrefixFilter achieves this function by setting startRow and
> > > stopRow, ignoring the situation that startRow may have been set.
> > >
> > >
> > > I have discussed this issue with @infraio and he suggested to deprecate
> > > this method because modifying it may cause compatibility issues.
> > >
> > > Is this plan acceptable? Hope to get some suggestions.
> > >
> > >
> > > Thank you. Regards
> > >
> >
>
|