EungsopYoo commented on PR #6557:
URL: https://github.com/apache/hbase/pull/6557#issuecomment-2597470505

   > ```
   >     if (PrivateCellUtil.isDelete(typeByte)) {
   >       boolean includeDeleteMarker =
   >         seePastDeleteMarkers ? tr.withinTimeRange(timestamp) : 
tr.withinOrAfterTimeRange(timestamp);
   >       if (includeDeleteMarker) {
   >         this.deletes.add(cell);
   >       }
   >       return MatchCode.SKIP;
   >     }
   > ```
   > 
   > Seems incorrect, we will always return MatchCode.SKIP if we get a delete 
maker...
   > 
   > I think why we do not find this before is that, usually there will be only 
one delete maker, so when we check the next cell, we will fall through and call 
the checkDeleted method so we will seek to next row or column.
   > 
   > Here the scenario is that we have bunch of delete makrer, then here we 
will see them all instead of seek to next row or column, since we will always 
go into the code block above and return MatchCode.SKIP.
   > 
   > I think we should try to optimize the logic of the above code block.
   
   
https://github.com/apache/hbase/pull/6557/commits/f6739e2e2c45513f496211fc494faed722b4d80e
   I removed the early `return MatchCode.SKIP` statement. But some test cases 
related to NewVersionBehavior were failed after that.
   
   
https://github.com/apache/hbase/pull/6557/commits/74ecf712add5720deb6a3ebdfed9fa1ab8847dc7
   So I restored `return MatchCode.SKIP` with some exceptional conditions.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to