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] Updated: (HBASE-521) Improve client scanner interface
Date Wed, 02 Apr 2008 20:23:24 GMT

     [ https://issues.apache.org/jira/browse/HBASE-521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Bryan Duxbury updated HBASE-521:

    Attachment: 521-v6.patch

Latest version, incorporates some of Stack's suggestions. 

The stuff transforming RowResult into HStoreKey map is for incommons to have same scanner
interface. I can't just return RowResult there because it expects map<HStoreKey, byte[]>,
not map<Text, Cell>. 

We've agreed that mapred stuff will be improved further outside of this issue.

> Improve client scanner interface
> --------------------------------
>                 Key: HBASE-521
>                 URL: https://issues.apache.org/jira/browse/HBASE-521
>             Project: Hadoop HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Minor
>             Fix For: 0.2.0
>         Attachments: 521-v2.patch, 521-v3.patch, 521-v4.patch, 521-v5.patch, 521-v6.patch,
> The current client scanner interface is pretty ugly. You need to instantiate an HStoreKey
and SortedMap<Text, byte[]> externally and then pass them into next. This is pretty
bad, because for starters, the client has to choose the implementation of the map when they
create it, so it's extra brain cycles to figure that out. HStoreKey doesn't show up anywhere
else in the entire client side API, but here it bubbles out of next as a way to get the row
and presumably the timestamp of the columns.
> I propose that we supplant HScannerInterface with Scanner, an easier-to-use version for
clients. Its next method would look something like:
> {code}
> public RowResult next() throws IOException;
> {code}
> This packs the data up much more cleanly, including using Cells as values instead of
raw byte[], meaning you have much more granular timestamp information. You also don't need
HStoreKey anymore.
> By breaking Scanner away from HScannerInterface, we can leave the internal scanning code
completely alone (keep using HStoreKeys and such) but make the client cleaner.

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

View raw message