[
https://issues.apache.org/jira/browse/HBASE-18825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16172430#comment-16172430
]
Duo Zhang commented on HBASE-18825:
-----------------------------------
For StoreFile, Store, and Region, we will not have multiple implementation
classes so it is not necessary to have an interface for us. I think the main
reason we have an interface is that, we need to expose these stuffs to CP users
and we do not want to expose an implementation class. The problem for now is
that we also uses the interface in our own code, so we need to declared every
method in the interface, even if the method is not suitable for calling by CP
users. For example, the several getScanner methods, which accept a SQM which is
declared as IA.Private as a parameter.
So here I think we can just use implementation classes in our own code, then we
can remove the methods from the interface which we do not want to expose to CP
users.
Thanks.
> Use HStoreFile instead of StoreFile in our own code base and remove
> unnecessary methods in StoreFile interface
> --------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
> Issue Type: Sub-task
> Components: Coprocessors
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch,
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch
>
>
> Use generic types to avoid too many casts.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)