[
https://issues.apache.org/jira/browse/PHOENIX-4277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16225416#comment-16225416
]
Hudson commented on PHOENIX-4277:
---------------------------------
SUCCESS: Integrated in Jenkins build Phoenix-master #1850 (See
[https://builds.apache.org/job/Phoenix-master/1850/])
PHOENIX-4277 Treat delete markers consistently with puts for (jtaylor: rev
438ac5676e8e8f0a69875d9b91acaf5c8ac6201c)
* (edit)
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
* (edit) phoenix-core/src/main/java/org/apache/phoenix/util/TransactionUtil.java
* (add)
phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/ScanInfoUtil.java
* (edit)
phoenix-core/src/it/java/org/apache/phoenix/end2end/PointInTimeQueryIT.java
> Treat delete markers consistently with puts for point-in-time scans
> -------------------------------------------------------------------
>
> Key: PHOENIX-4277
> URL: https://issues.apache.org/jira/browse/PHOENIX-4277
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: James Taylor
> Fix For: 4.13.0
>
> Attachments: PHOENIX-4277.test.patch, PHOENIX-4277_v2.patch,
> PHOENIX-4277_v3.patch, PHOENIX-4277_wip.patch
>
>
> The IndexScrutinyTool relies on doing point-in-time scans to determine
> consistency between the index and data tables. Unfortunately, deletes to the
> tables cause a problem with this approach, since delete markers take effect
> even if they're at a later time stamp than the point-in-time at which the
> scan is being done (unless KEEP_DELETED_CELLS is true). The logic of this is
> that scans should get the same results before and after a compaction take
> place.
> Taking snapshots does not help with this since they cannot be taken at a
> point-in-time and the delete markers will act the same way - there's no way
> to guarantee that the index and data table snapshots have the same "logical"
> set of data.
> Using raw scans would allow us to see the delete markers and do the correct
> point-in-time filtering ourselves. We'd need to write the filters to do this
> correctly (see the Tephra TransactionVisibilityFilter for an implementation
> of this that could be adapted). We'd also need to hook this into Phoenix or
> potentially dip down to the HBase level to do this.
> Thanks for brainstorming on this with me, [~lhofhansl].
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)