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

Enis Soztutar commented on HBASE-9905:
--------------------------------------

Some offline discussion with Sergey, we probably need a couple of "modes" per 
table for "timestamp mode" : 
  - mode_seqid           : The server supplies seqId to the cells. If ts is set 
for puts, the server will throw IllegelArgumentException. 
  - mode_server_ts     : The server supplies ts to the cells from the wall 
clock. If ts is set for puts, the server will throw IllegelArgumentException. 
  - mode_client_ts       : The client always supplies the timestamps (from 
clock or from ts oracle). The server throws exception if the cell does not have 
timestamp
  - mode_mixed          : Will operate similarly to current semantics. Will be 
deprecated. 

mode_server_ts is a special case for mode_mixed, and may not be needed. 

> 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
>             Fix For: 0.98.0
>
>
> 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.1#6144)

Reply via email to