[
https://issues.apache.org/jira/browse/HBASE-7303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13526944#comment-13526944
]
Elliott Clark commented on HBASE-7303:
--------------------------------------
Loading from compat works like this:
hbase-hadoop-compat module has an interface. Then the implementations in
hbase-hadoop(1|2)-compat inherit from the interface. They also include a file
in src/main/resources/META-INF/services/ that tells the CompatibilityFactory
what class to provide when asked for an instance of the interface.
So we could pull HLog interface into hbase-hadoop-compat and then have two
implementations of FSHLog, one in each hadoop compat module.
Or we can keep the HLog and FSHlog where they are and just abstract out the
parts of the DFSClient usage that's specific to versions.
The first option might make things a little cleaner as we could remove more
if/else code. However it's a larger change. I could be swayed for either.
> Quit using reflection for the method DFSOutputStream#getNumCurrentReplicas(…)
> -----------------------------------------------------------------------------
>
> Key: HBASE-7303
> URL: https://issues.apache.org/jira/browse/HBASE-7303
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 0.96.0
> Reporter: Harsh J
> Assignee: Harsh J
> Priority: Minor
>
> Given that we've raised our minimum version guarantee for HBase with 1.x
> carrying the 0.20-append code finally, and all subsequent releases (0.21*,
> 0.22, 0.23 and 2) have this method available in them, I don't see a reason to
> have the reflection based getNumCurrentReplicas invocation (via HDFS-826)
> anymore.
> We could save ourselves quite a bit of perf. penalty by removing this check
> and simply calling the method directly, as its API has not changed across
> releases.
--
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