[
https://issues.apache.org/jira/browse/PHOENIX-5799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17080340#comment-17080340
]
Istvan Toth commented on PHOENIX-5799:
--------------------------------------
You are right.
However, in all cases we are using setStopRow to set up a single-row scan, and
in 1.3 the semantics is that startRow=StopRow indicates single-row scan,
despite the fact that this would logically result in an empty set.
The 1.4+ API is more consistent, and works in a mathematically correct way.
So for the actual use cases the method works correctly, even though it looks
wrong.
Renaming CompatUtil.setStopRow() to setStopRowForGetScan() or similar and
dropping the third parameter would probably help, but then it wouldn't follow
the 1.4+ HBase API.
Maybe the best solution would be to add a setSingleRow() method that hides this
mess from the code, and delete the setStopRow method. (and worry about handling
actual range scans when we will need them)
We have a mess either way, as we cannot transparently shim the start/stop
methods because of the 1.3 GetScan special case handling.
What would be your preference ?
> Inline Index Verification Output API
> ------------------------------------
>
> Key: PHOENIX-5799
> URL: https://issues.apache.org/jira/browse/PHOENIX-5799
> Project: Phoenix
> Issue Type: Bug
> Reporter: Geoffrey Jacoby
> Assignee: Geoffrey Jacoby
> Priority: Major
> Fix For: 4.16.0
>
> Attachments: PHOENIX-5799-4.x.v1.patch
>
> Time Spent: 2h 50m
> Remaining Estimate: 0h
>
> Followup from PHOENIX-5773 -- split out the logic in
> IndexRebuildRegionScanner that writes to the output table into its own class,
> plus add read methods and tests.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)