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
Priority: Minor
Fix For: 0.2.0
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.