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

Billie Rinaldi commented on HBASE-9905:
---------------------------------------

Accumulo has two timestamp types, logical and milliseconds.  Logical time uses 
a one-up counter to set the timestamps.  Milliseconds time uses the server 
time, but it also ensures that it assigns monotonically non-decreasing 
timestamps within each tablet.  The last timestamp for the tablet is stored in 
the tablet's metadata, and the tserver assigns new timestamps as the maximum of 
servertime and lasttime+1 (or sometimes lasttime).  See 
[TabletTime|https://git-wip-us.apache.org/repos/asf?p=accumulo.git;a=blob;f=server/base/src/main/java/org/apache/accumulo/server/tablets/TabletTime.java;hb=HEAD].

> 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.2#6252)

Reply via email to