[ 
https://issues.apache.org/jira/browse/HBASE-9905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14314162#comment-14314162
 ] 

Andrey Stepachev commented on HBASE-9905:
-----------------------------------------

We can allow user to specify which seqId to use for TTL operations and advance 
this marker.
Marker can be stored in meta or file descriptor. With HBASE-12035 it is 
possible to store it in 
meta column family 'table' introduced. That allows to use CAS operations for 
example.

If we look more general we can introduce table attribute (stored in meta) named 
TTL override which can
be applied to all types of tables (or column families independently if that 
will not complicate code a lot). 
This attribute allows user to override ttl value to which cells compared, if 
this attribute is present timestamp 
will be checked against this value and cells with less and equal will be 
removed.
That can be useful even for regular tables, when user wants to fix ttl for some 
time. 
Sure, for user specified seqId usage of this field would be mandatory and 
default value will be Long.MIN.


> Enable using seqId as timestamp 
> --------------------------------
>
>                 Key: HBASE-9905
>                 URL: https://issues.apache.org/jira/browse/HBASE-9905
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Enis Soztutar
>
> This has been discussed previously, and Lars H. was mentioning an idea from 
> the client to declare whether timestamps are used or not explicitly. 
> The problem is that, for data models not using timestamps, we are still 
> relying on clocks to order the updates. Clock skew, same milisecond puts 
> after deletes, etc can cause unexpected behavior and data not being visible.  
> We should have a table descriptor / family property, which would declare that 
> the data model does not use timestamps. Then we can populate this dimension 
> with the seqId, so that global ordering of edits are not effected by wall 
> clock. 
> For example, META will use this. 
> Once we have something like this, we can think of making it default for new 
> tables, so that the unknowing user will not shoot herself in the foot. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to