[
https://issues.apache.org/jira/browse/HBASE-10823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13967594#comment-13967594
]
Andrew Purtell commented on HBASE-10823:
----------------------------------------
bq. (Anoop) So in the acl check place also we might have to do ts based cell
skip.This we can do in a follow on Jira. Also we will need all fancy test cases.
Agree, this is what I meant above about " We may have to resort to a custom
filter ultimately."
bq. (Ram) The exact version deletion also check for the preceeding version
though the latest version allows the permission
Agree, exact version deletion should not check earlier versions.
So to proceed, seems consensus is we commit the patch on this issue and resolve
it to improve existing behavior wrt future timestamps, and then carry the
further work forward to a new JIRA. We can do either or both of the below two
things (or other ideas?):
1. Further improve the covering permissions check in the AccessController by
building a map of TimeRanges, pass this map to a custom filter, and have the
custom filter select what cells are relevant for ACL checks. This is what I
would like to try as the next step.
2. Add Get#addColumn and Get#addFamily methods that take a timestamp like
Delete#deleteColumn and Delete#deleteFamily and add support in the query
trackers. Essentially provide a mode for Get that has the exact same semantics
as Delete. I have not looked into this in detail but it feels complicated.
> Resolve LATEST_TIMESTAMP to current server time before scanning for ACLs
> ------------------------------------------------------------------------
>
> Key: HBASE-10823
> URL: https://issues.apache.org/jira/browse/HBASE-10823
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 0.98.1
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Priority: Minor
> Fix For: 0.99.0, 0.98.2
>
> Attachments: HBASE-10823.patch, HBASE-10823.patch, HBASE-10823.patch,
> test.patch
>
>
> Storing values with timestamps in the future is probably bad practice and can
> lead to surprises. If cells with timestamps in the future have ACLs,
> permissions from those ACLs will incorrectly be considered for authorizing
> the pending mutation. For sure that will be surprising.
> We should be able to avoid this case by resolving LATEST_TIMESTAMP to the
> current server time when creating the internal scanner for finding ACLs in
> the covered cell set.
> Documenting a todo item from a discussion between [~anoop.hbase] and myself.
--
This message was sent by Atlassian JIRA
(v6.2#6252)