[
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)