hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carter (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-11657) Put HTable region methods in an interface
Date Mon, 04 Aug 2014 14:39:11 GMT
Carter created HBASE-11657:

             Summary: Put HTable region methods in an interface
                 Key: HBASE-11657
                 URL: https://issues.apache.org/jira/browse/HBASE-11657
             Project: HBase
          Issue Type: Improvement
    Affects Versions: 0.99.0
            Reporter: Carter
            Assignee: Carter
             Fix For: 0.99.0

Most of the HTable methods are now abstracted by HTableInterface, with the notable exception
of the following methods that pertain to region metadata:

HRegionLocation getRegionLocation(final String row)
HRegionLocation getRegionLocation(final byte [] row)
HRegionLocation getRegionLocation(final byte [] row, boolean reload)
byte [][] getStartKeys()
byte[][] getEndKeys()
Pair<byte[][],byte[][]> getStartEndKeys()
void clearRegionCache()

and a default scope method which maybe should be bundled with the others:

List<RegionLocations> listRegionLocations()

Since the consensus seems to be that these would muddy HTableInterface with non-core functionality,
where should it go?  MapReduce looks up the region boundaries, so it needs to be exposed somewhere.

Let me throw out a straw man to start the conversation.  I propose:


Have HTable implement this interface.  Also add these methods to HConnection:

HRegionInterface getTableRegion(TableName tableName)
HRegionInterface getTableRegion(TableName tableName, ExecutorService pool)

[~stack], [~ndimiduk], [~enis], thoughts?

This message was sent by Atlassian JIRA

View raw message