hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bryan Duxbury (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-489) CellValue class for transporting cell timestamp with cell value simultaneously
Date Tue, 04 Mar 2008 02:44:50 GMT

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

Bryan Duxbury commented on HBASE-489:
-------------------------------------

We can't deprecate the old version, because we're only changing the return value. 

Current:
{code}
public byte [] get(Text row, Text column)
{code}

New:
{code}
public CellValue get(Text row, Text column)
{code}

We could rename either the new or old methods to something like "getCellValue" or "getByteArray"
or "getOldStyle" etc. However any approach that doesn't break already written code is also
very ugly and will have to change in the future one way or another.

> CellValue class for transporting cell timestamp with cell value simultaneously
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-489
>                 URL: https://issues.apache.org/jira/browse/HBASE-489
>             Project: Hadoop HBase
>          Issue Type: New Feature
>          Components: client, regionserver
>            Reporter: Bryan Duxbury
>            Priority: Minor
>             Fix For: 0.2.0
>
>
> 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?

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


Mime
View raw message