hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID
Date Fri, 30 Sep 2011 20:16:47 GMT

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

jiraposter@reviews.apache.org commented on HBASE-4507:
------------------------------------------------------



bq.  On 2011-09-30 01:26:24, Ming Ma wrote:
bq.  > Nice stuff, Stack.
bq.  > 
bq.  > Some questions:
bq.  > 
bq.  > 1. The approach of "isTimestampClash and the nowBytes = Bytes.toBytes(now + 1)".
It seems there is still a rare case, where EnvironmentEdgeManager.currentTimeMillis() returns
expectedTimestampOfLatestVersion - 1. Then later on in put, updateKVTimestamps set it to the
new now value, which happens to be expectedTimestampOfLatestVersion. Perhaps we can use "now
<= expectedTimestampOfLatestVersion" condition instead of "now == expectedTimestampOfLatestVersion"
in isTimestampClash. Set the new time value as nowBytes = Bytes.toBytes(expectedTimestampOfLatestVersion
+ 1).
bq.  > 2. Do we need to modify coprocessor interfaces preCheckAndPut, postCheckAndPut,
etc.? Perhaps we don't have any scenario for this yet.
bq.  > 3. Do we need the same thing for checkAndDelete? Perhaps we don't have any scenario
for this yet.
bq.  
bq.  Michael Stack wrote:
bq.      1. Doesn't updateKVTimestamps only mess with timestamps if the timestamp is set to
HConstants.LATEST_TIMESTAMP?  My setting the timestamp here before we go down into internalPut
means the later updateKVTimestamps will not change the timestamps I've set?  Let me check
for sure.
bq.      2. Let me look into this.
bq.      3.  I considered it but stopped myself.  Figured I'd let someone ask for it before
I went and implemented new functionality.
bq.      
bq.      Thanks Ming for review.
bq.

I took another look and now I see what you are saying Ming.  New patch coming.

For 1., for the case where we are all up in the same millisecond, then I'll pass the 'now'
to the innerPut so that when it does its updateKVTimestamps, its operating with the same 'now'.

I fixed 2. adding this new method to RegionObserver and handling the ripple through the code
base (Man, its harder now adding new methods to a regionserver!)

I'm not going to do 3. in scope of this issue.

@Ted New patch will include your suggestion too.

Thanks for review lads.


- Michael


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2203
-----------------------------------------------------------


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.      https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.    src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.    src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 96b763b 
bq.    src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.


                
> Create checkAndPut variant that exposes timestamp / UUID
> --------------------------------------------------------
>
>                 Key: HBASE-4507
>                 URL: https://issues.apache.org/jira/browse/HBASE-4507
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Ted Yu
>            Assignee: stack
>
> Michael checked the checkAndPut which doesn't expose timestamp. A variant of checkAndPut
should be created to expose timestamp which is written into a column specified by additional
parameters.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message