Yes. That should work fine for both Get and Scan. For the current state of versions and the known limitations, there was recently a great blog post written about it.
http://outerthought.org/blog/blog/417-OTC.html JG > -----Original Message----- > From: Andrey Stepachev [mailto:[email protected]] > Sent: Thursday, July 15, 2010 2:34 AM > To: [email protected] > Subject: Re: Is it safe to use timestamps (or versions) to load old > values. > > Do i understand correct, that if i do: > > put('table', 'family', 'qual', 'value1', asTimestamp('2009-01-01')) > put('table', 'family', 'qual', 'value2', now()) > put('table', 'family', 'qual', 'value1', asTimestamp('2009-01-01')) > > i get value2 in any scan after second put? > > 2010/7/15 Ryan Rawson <[email protected]>: > > As of hbase 0.20.5 gets no longer return the wrong value... They are > now > > always correct like scans - because they internally are 1 row scans. > > > > On Jul 15, 2010 1:44 AM, "Andrey Stepachev" <[email protected]> wrote: > >> By mistake email was sent ;). > >> > >> To be more specific, here is example of my schema > >> > >> table bsn.main: > >> key: long > >> family: names > >> type:date:version => json object > >> family: addresses > >> type:date:version => json object > >> etc. > >> > >> so, loader can put old name into names with old data (even if some > >> name json object was updated). > >> in such case i increment version and later remove multiple version > (to > >> save space and time). > >
