[
https://issues.apache.org/jira/browse/HBASE-19582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16300570#comment-16300570
]
Andrew Purtell edited comment on HBASE-19582 at 12/21/17 9:37 PM:
------------------------------------------------------------------
bq. To be very specific about our use case, we would like to write values using
a certain TTL and, later, for a subset of those remove the TTL entirely. Again,
we would like to avoid the read / modify / write cycle.
This isn't possible. If you are using per-cell TTLs (carried as metadata on the
cell as a tag), to update the TTL on a cell you need to write a new cell.
Essentially you refresh through replacement. Tags are part of cell data.
Perhaps we can make our documentation more clear. It is intended that the only
way to update tags for a cell is to write a new cell. It is not possible and
not intended to update tags on their own. We do have to special case appends
and increments because the alternative is even more surprising.
was (Author: apurtell):
bq. To be very specific about our use case, we would like to write values using
a certain TTL and, later, for a subset of those remove the TTL entirely. Again,
we would like to avoid the read / modify / write cycle.
This isn't possible. If you are using cell tags, to update the TTL on a cell
you need to write a new cell. Tags are part of cell data. Perhaps we can make
our documentation more clear. It is intended that the only way to update tags
for a cell is to write a new cell. It is not possible and not intended to
update tags on their own. We do have to special case appends and increments
because the alternative is even more surprising.
> Tags on append doesn't behave like expected
> -------------------------------------------
>
> Key: HBASE-19582
> URL: https://issues.apache.org/jira/browse/HBASE-19582
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 2.0.0-alpha-4
> Reporter: Jean-Marc Spaggiari
>
> When appending a tag an HBase cell, they seems to not really be append be
> live their own life. In the example below, I put a cell, append the TTL, and
> we can see between the 2 scans that only the TTL append cell expires. I was
> expecting those 2 cells to become one and expire together. This can be easily
> figured by looking at the returned timestamp from the scan.
> {code}
> hbase(main):082:0> put 't1', 'r1', 'f1:c1', 'value'
> 0 row(s) in 0.1350 seconds
> hbase(main):083:0> append 't1', 'r1', 'f1:c1', '', { TTL => 5000 }
> 0 row(s) in 0.0080 seconds
> hbase(main):084:0> scan 't1'
> ROW COLUMN+CELL
>
>
> r1 column=f1:c1,
> timestamp=1513879615014, value=value
>
> 1 row(s) in 0.0730 seconds
> hbase(main):085:0> scan 't1'
> ROW COLUMN+CELL
>
>
> r1 column=f1:c1,
> timestamp=1513879599375, value=value
>
> 1 row(s) in 0.0500 seconds
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)