hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Francke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13645) Rename *column methods in MasterObserver to *columnFamily
Date Sat, 09 May 2015 09:13:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-13645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14536309#comment-14536309

Lars Francke commented on HBASE-13645:

And yet another question: {{MasterCoprocessorHost}} calls the "old" methods and we need to
keep it that way for 2.0.0 for people directly implementing {{MasterObserver}}. But now they'll
get a deprecation warning and are asked to move to the _column family_ versions. 

How do I actually call that though? In {{MasterCoprocessorHost}} in addition to the old methods?
That means people must be careful not to implement both - old and new - versions. Am I missing
something obvious? I don't see any other way. I can not only call the new version because
then people directly implementing {{MasterObserver}} won't get a call back and I can't only
call the old version because then people implementing only the new one won't get a call back.

I guess I'll just have to add good documentation and expect people to read it :)

> Rename *column methods in MasterObserver to *columnFamily
> ---------------------------------------------------------
>                 Key: HBASE-13645
>                 URL: https://issues.apache.org/jira/browse/HBASE-13645
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
> This being an interface makes it a bit harder on implementors. It'd be easier with Java8
and default implementations.
> We could either
> # add new *columnFamily methods and deprecate the old ones or
> # rename the existing ones without doing a deprecation first.
> Implementors would need to change their code in each of those cases. But because we have
the {{BaseMasterObserver}} and {{BaseMasterAndRegionObserver}} it'd make things easier for
people using those classes if we go with option 1. So that's my preference.
> The plan would be to add these methods in 2.0.0 and remove the old ones in 3.0.0.

This message was sent by Atlassian JIRA

View raw message