HBASE-14232 Backwards compatiblity support for new MasterObserver APIs (Francis Liu)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a4821da1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a4821da1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a4821da1 Branch: refs/heads/hbase-6721 Commit: a4821da1f2e50660a9dfee30583772dbe70da3c6 Parents: f1e6b20 Author: Andrew Purtell <apurt...@apache.org> Authored: Wed Aug 26 13:28:44 2015 -0700 Committer: Andrew Purtell <apurt...@apache.org> Committed: Wed Aug 26 13:28:44 2015 -0700 ---------------------------------------------------------------------- .../hbase/master/MasterCoprocessorHost.java | 43 +++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/a4821da1/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java index 7a3b01f..05d2fb3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java @@ -62,12 +62,15 @@ public class MasterCoprocessorHost static class MasterEnvironment extends CoprocessorHost.Environment implements MasterCoprocessorEnvironment { private MasterServices masterServices; + final boolean supportGroupCPs; public MasterEnvironment(final Class<?> implClass, final Coprocessor impl, final int priority, final int seq, final Configuration conf, final MasterServices services) { super(impl, priority, seq, conf); this.masterServices = services; + supportGroupCPs = !useLegacyMethod(impl.getClass(), + "preBalanceGroup", ObserverContext.class, String.class); } public MasterServices getMasterServices() { @@ -1110,7 +1113,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.preMoveServers(ctx, servers, targetGroup); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.preMoveServers(ctx, servers, targetGroup); + } } }); } @@ -1121,7 +1126,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.postMoveServers(ctx, servers, targetGroup); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.postMoveServers(ctx, servers, targetGroup); + } } }); } @@ -1132,7 +1139,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.preMoveTables(ctx, tables, targetGroup); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.preMoveTables(ctx, tables, targetGroup); + } } }); } @@ -1143,7 +1152,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.postMoveTables(ctx, tables, targetGroup); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.postMoveTables(ctx, tables, targetGroup); + } } }); } @@ -1154,7 +1165,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.preAddGroup(ctx, name); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.preAddGroup(ctx, name); + } } }); } @@ -1165,7 +1178,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.postAddGroup(ctx, name); + if (((MasterEnvironment) ctx.getEnvironment()).supportGroupCPs) { + oserver.postAddGroup(ctx, name); + } } }); } @@ -1176,7 +1191,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.preRemoveGroup(ctx, name); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.preRemoveGroup(ctx, name); + } } }); } @@ -1187,7 +1204,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.postRemoveGroup(ctx, name); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.postRemoveGroup(ctx, name); + } } }); } @@ -1198,7 +1217,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.preBalanceGroup(ctx, name); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.preBalanceGroup(ctx, name); + } } }); } @@ -1209,7 +1230,9 @@ public class MasterCoprocessorHost @Override public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment> ctx) throws IOException { - oserver.postBalanceGroup(ctx, name, balanceRan); + if(((MasterEnvironment)ctx.getEnvironment()).supportGroupCPs) { + oserver.postBalanceGroup(ctx, name, balanceRan); + } } }); }