hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Stepachev (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9905) Enable using seqId as timestamp
Date Tue, 10 Feb 2015 13:24:13 GMT

    [ 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

View raw message