[ https://issues.apache.org/jira/browse/HDFS-1599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242322#comment-13242322 ]
Uma Maheswara Rao G commented on HDFS-1599: ------------------------------------------- Other point I wanted to mention is, Presently HBase using lot of reflection based invocations to call HDFS methods( which are not exposed). Ex: {code}Field fIn = FilterInputStream.class.getDeclaredField("in"); fIn.setAccessible(true); Object realIn = fIn.get(this.in); // In hadoop 0.22, DFSInputStream is a standalone class. Before this, // it was an inner class of DFSClient. if (realIn.getClass().getName().endsWith("DFSInputStream")) { Method getFileLength = realIn.getClass(). getDeclaredMethod("getFileLength", new Class<?> []{}); getFileLength.setAccessible(true); long realLength = ((Long)getFileLength. invoke(realIn, new Object []{})).longValue();{code} What is plan for support in exposing some kind of real usage details to dependant components through some special interfaces? I can see that, lot of code filled with reflection based invocations in Hbase. That will really make harder in version migrations later. Since they are internal APIs HDFS may change very easily. But Hbase might depend on them tightly. In such cases, Hbase will face lot of difficultuies in migrating to newer versions. Let's start brainstorming on this issue here. > Umbrella Jira for Improving HBASE support in HDFS > ------------------------------------------------- > > Key: HDFS-1599 > URL: https://issues.apache.org/jira/browse/HDFS-1599 > Project: Hadoop HDFS > Issue Type: Improvement > Reporter: Sanjay Radia > > Umbrella Jira for improved HBase support in HDFS -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira