Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
All of the get* methods take a timestamp parameter that means "at least as old as X". This is handy for getting data that fits your expectations about when it should exist. However, the result you get back doesn't actually contain the real timestamp the cell was stored at.
For example, let's say you write the stock price for your favorite company into row "YHOO" at cell "stock:price". It takes the default timestamp of right now. Then, a day passes. You want to get the most recent stock price for YHOO, and also when the price was gathered. In the current system, you couldn't do this at all without also doing a scan at the same time.
If we added a new class called CellValue that contained the byte[] cell value as well as the long timestamp of when it was stored, we could return an instance of this class wherever we used to return just the byte[]. This could be used in all the get() methods, getRow, getClosestAtOrBefore, etc. This has the advantage of making timestamp into a first-class citizen in HBase, which it hasn't been so far.
Thoughts?
Attachments
Attachments
Issue Links
- blocks
-
HBASE-40 [hbase] Add a method of getting multiple (but not all) cells for a row at once
- Closed
-
HBASE-493 Write-If-Not-Modified-Since support
- Closed
-
HBASE-430 Performance: Scanners and getRow return maps with duplicate data
- Closed
- relates to
-
HBASE-31 Add means of getting the timestamps for all cell versions: e.g. long [] getVersions(row, column)
- Closed