[ https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13118383#comment-13118383 ]
jirapos...@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