[
https://issues.apache.org/jira/browse/HBASE-11764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14102496#comment-14102496
]
Andrew Purtell commented on HBASE-11764:
----------------------------------------
bq. So you will add setter in Mutation (Non Delete) to pass the per cell TTL
right?
Yes.
Also, I realized this morning that this part of HBASE-11763 will need to be
changed in the patch on this issue:
{code}
@@ -362,9 +360,16 @@ public class ScanQueryMatcher {
}
// note the following next else if...
// delete marker are not subject to other delete markers
- } else if (!this.deletes.isEmpty()) {
- DeleteResult deleteResult = deletes.isDeleted(cell);
- switch (deleteResult) {
+ } else {
+ // If the cell is expired and we have enough versions, skip
+ if (columns.hasMinVersions() && HStore.isExpired(cell,
oldestUnexpiredTS)) {
+ return columns.getNextRowOrNextColumn(cell.getQualifierArray(),
qualifierOffset,
+ qualifierLength);
+ }
+ // Check deletes
+ if (!this.deletes.isEmpty()) {
+ DeleteResult deleteResult = deletes.isDeleted(cell);
+ switch (deleteResult) {
case FAMILY_DELETED:
case COLUMN_DELETED:
return columns.getNextRowOrNextColumn(cell.getQualifierArray(),
{code}
We can't assume based on a cell TTL that we can skip to the next column. We can
only skip the current cell. This may affect scanning performance
unconditionally. Up to now additional costs like the tag iterator would be
avoided wherever cells do not have tags.
> Support per cell TTLs
> ---------------------
>
> Key: HBASE-11764
> URL: https://issues.apache.org/jira/browse/HBASE-11764
> Project: HBase
> Issue Type: Sub-task
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Fix For: 0.99.0, 0.98.6
>
> Attachments: HBASE-11764.patch
>
>
--
This message was sent by Atlassian JIRA
(v6.2#6252)