Put.setTimeStamp misleading (doesn't change timestamp on existing KeyValues, 
not copied in copy constructor)
------------------------------------------------------------------------------------------------------------

                 Key: HBASE-1930
                 URL: https://issues.apache.org/jira/browse/HBASE-1930
             Project: Hadoop HBase
          Issue Type: Bug
          Components: client
    Affects Versions: 0.20.1, 0.20.0
            Reporter: Dave Latham
            Priority: Minor
             Fix For: 0.20.2
         Attachments: 1930.patch

In the process of migrating some code from 0.19, and was changing BatchUpdate's 
to Put's.  I was hit by a bit of a gotcha.  In the old code, I populated the 
BatchUpdate, then set the timestamp.  However, this doesn't wotk for Put, 
because Put creates KeyValue's with the currently set timestamp when adding 
values.  Setting the timestamp at the end has no effect.  Also, the copy 
constructor doesn't copy the timestamp (or writeToWAL) setting.

One option would be to simply update the javadoc to make it clear that the 
timestamp needs to be set prior to adding values.  I'm attaching a proposed 
patch which moves the timestamp setting to constructor only so that it isn't 
possible to trigger the confusing case at all.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to