[ 
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
(v6.3.4#6332)

Reply via email to