[
https://issues.apache.org/jira/browse/HBASE-6495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack updated HBASE-6495:
-------------------------
Resolution: Fixed
Assignee: Jesse Yates
Hadoop Flags: Incompatible change,Reviewed
Status: Resolved (was: Patch Available)
Thanks for the important Interface cleanup Jesse. I ran TestAdmin locally and
it passed so committed to trunk (I'd say it doesn't belong in 0.94...this patch
doesn't make sense there at least.... Will let Lars ask for it if he wants it)
> HBaseAdmin shouldn't expect HConnection to be an HConnectionImplementation
> --------------------------------------------------------------------------
>
> Key: HBASE-6495
> URL: https://issues.apache.org/jira/browse/HBASE-6495
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.96.0, 0.94.1
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Fix For: 0.96.0
>
> Attachments: hbase-6495-v0.patch
>
>
> Currently, the HBaseAdmin has a constructor that takes an HConnection, but
> then immediately casts it to an HConnectionManager.HConnectionImplementation:
> {code}
> public HBaseAdmin(HConnection connection)
> throws MasterNotRunningException, ZooKeeperConnectionException {
> this.conf = connection.getConfiguration();
> // We want the real class, without showing it our public interface,
> // hence the cast.
> this.connection =
> (HConnectionManager.HConnectionImplementation)connection;
> {code}
> However, this breaks the explicit contract in the javadocs and makes it
> basically impossible to mock out the hbaseadmin.
> We need to either make the hbaseadmin use a basic HConnection and optimize
> for cases where its smarter or bring up the couple of methods in
> HConnectionManager.HConnectionImplementation to the HConnection interface.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira