[ 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)