From a6a303816cc429db6ed90f634b2d6126f0e8d8fc Mon Sep 17 00:00:00 2001 From: Apekshit Sharma Date: Wed, 27 Sep 2017 18:06:12 -0700 Subject: [PATCH] HBASE-18884 Coprocessor Design Improvements follow up of HBASE-17732 - Change Service Coprocessor#getService() to List Coprocessor#getServices() - Checkin the finalized design doc into repo - Added example to javadoc of Coprocessor base interface on how to implement one in the new design --- ..._of_inheritance-HBASE-17732-2017_09_27.pdf | Bin 0 -> 161724 bytes .../org/apache/hadoop/hbase/Coprocessor.java | 36 ++++++++++++++++-- .../coprocessor/AggregateImplementation.java | 6 +-- .../hadoop/hbase/coprocessor/Export.java | 6 +-- .../access/SecureBulkLoadEndpoint.java | 6 +-- .../ColumnAggregationEndpoint.java | 7 ++-- ...ColumnAggregationEndpointNullResponse.java | 6 +-- .../ColumnAggregationEndpointWithErrors.java | 6 +-- .../ProtobufCoprocessorService.java | 6 +-- .../TestAsyncCoprocessorEndpoint.java | 6 +-- .../TestRegionServerCoprocessorEndpoint.java | 8 ++-- .../TestServerCustomProtocol.java | 6 +-- .../example/BulkDeleteEndpoint.java | 6 +-- .../example/RefreshHFilesEndpoint.java | 6 +-- .../coprocessor/example/RowCountEndpoint.java | 6 +-- .../hbase/rsgroup/RSGroupAdminEndpoint.java | 5 ++- .../coprocessor/BaseRowProcessorEndpoint.java | 6 +-- ...oprocessorServiceBackwardCompatiblity.java | 14 +++---- .../coprocessor/MultiRowMutationEndpoint.java | 6 +-- .../hbase/coprocessor/WALCoprocessor.java | 2 +- .../hbase/master/MasterCoprocessorHost.java | 6 ++- .../regionserver/RegionCoprocessorHost.java | 7 ++-- .../RegionServerCoprocessorHost.java | 6 ++- .../security/access/AccessController.java | 8 ++-- .../hbase/security/token/TokenProvider.java | 7 ++-- .../visibility/VisibilityController.java | 6 ++- .../security/access/TestAccessController.java | 6 +-- 27 files changed, 117 insertions(+), 79 deletions(-) create mode 100644 dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732-2017_09_27.pdf diff --git a/dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732-2017_09_27.pdf b/dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732-2017_09_27.pdf new file mode 100644 index 0000000000000000000000000000000000000000..30a6d542b36d70c887259fa61611dca1e44ded78 GIT binary patch literal 161724 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 z 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 VI=eZVnxU| + * class MyMasterCoprocessor implements MasterCoprocessor { + * @Override + * public Optional<MasterObserver> getMasterObserver() { + * return new MyMasterObserver(); + * } + * } + * + * class MyMasterObserver implements MasterObserver { + * .... + * } + * + * + * Building a Service which can be loaded by both Master and RegionServer + *
+ * class MyCoprocessorService implements MasterCoprocessor, RegionServerCoprocessor {
+ *   @Override
+ *   public Optional<Service> getServices() {
+ *     return new ...;
+ *   }
+ * }
+ * 
*/ @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC) @InterfaceStability.Evolving @@ -70,7 +98,7 @@ public interface Coprocessor { /** * Coprocessor endpoints providing protobuf services should implement this interface. */ - default Optional getService() { - return Optional.empty(); + default Iterable getServices() { + return Collections.EMPTY_SET; } } diff --git a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java index dcd6f44e939..6e0e6d447a9 100644 --- a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java +++ b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.java @@ -29,9 +29,9 @@ import com.google.protobuf.Service; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.NavigableSet; -import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -500,8 +500,8 @@ extends AggregateService implements RegionCoprocessor { } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } /** diff --git a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java index 50957525960..667f7a3dfa3 100644 --- a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java +++ b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/Export.java @@ -22,10 +22,10 @@ import java.io.Closeable; import java.io.IOException; import java.security.PrivilegedExceptionAction; import java.util.ArrayList; +import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.TreeMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -313,8 +313,8 @@ public class Export extends ExportProtos.ExportService implements RegionCoproces } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java index 4286174458b..9477eb1cdba 100644 --- a/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java +++ b/hbase-endpoint/src/main/java/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java @@ -19,9 +19,9 @@ package org.apache.hadoop.hbase.security.access; import java.io.IOException; +import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -175,7 +175,7 @@ public class SecureBulkLoadEndpoint extends SecureBulkLoadService implements Reg } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } } diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpoint.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpoint.java index 54f1f5396b7..cfcb565cc3f 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpoint.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpoint.java @@ -20,8 +20,8 @@ package org.apache.hadoop.hbase.coprocessor; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -40,7 +40,6 @@ import com.google.protobuf.RpcCallback; import com.google.protobuf.RpcController; import com.google.protobuf.Service; - /** * The aggregation implementation at a region. */ @@ -50,8 +49,8 @@ implements RegionCoprocessor { private RegionCoprocessorEnvironment env = null; @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointNullResponse.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointNullResponse.java index 43a0075b6ce..80316d3984a 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointNullResponse.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointNullResponse.java @@ -19,8 +19,8 @@ package org.apache.hadoop.hbase.coprocessor; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -51,8 +51,8 @@ public class ColumnAggregationEndpointNullResponse private static final Log LOG = LogFactory.getLog(ColumnAggregationEndpointNullResponse.class); private RegionCoprocessorEnvironment env = null; @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointWithErrors.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointWithErrors.java index 0faa717e4dd..49b79ce51f6 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointWithErrors.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpointWithErrors.java @@ -19,8 +19,8 @@ package org.apache.hadoop.hbase.coprocessor; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -54,8 +54,8 @@ public class ColumnAggregationEndpointWithErrors private RegionCoprocessorEnvironment env = null; @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ProtobufCoprocessorService.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ProtobufCoprocessorService.java index bc8d3e9c4d3..c69baeeef18 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ProtobufCoprocessorService.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/ProtobufCoprocessorService.java @@ -33,7 +33,7 @@ import org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos; import org.apache.hadoop.hbase.util.Threads; import java.io.IOException; -import java.util.Optional; +import java.util.Collections; /** * Test implementation of a coprocessor endpoint exposing the @@ -45,8 +45,8 @@ public class ProtobufCoprocessorService extends TestRpcServiceProtos.TestProtobu public ProtobufCoprocessorService() {} @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestAsyncCoprocessorEndpoint.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestAsyncCoprocessorEndpoint.java index 84c777ced6d..2e474bc9fc5 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestAsyncCoprocessorEndpoint.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestAsyncCoprocessorEndpoint.java @@ -23,7 +23,7 @@ import static org.junit.Assert.fail; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.Optional; +import java.util.Collections; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.HConstants; @@ -131,8 +131,8 @@ public class TestAsyncCoprocessorEndpoint extends TestAsyncAdminBase { public DummyRegionServerEndpoint() {} @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorEndpoint.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorEndpoint.java index 2e22a162df8..d6421080c1b 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorEndpoint.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorEndpoint.java @@ -21,11 +21,9 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Optional; +import java.util.Collections; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.coprocessor.protobuf.generated.DummyRegionServerEndpointProtos; @@ -106,8 +104,8 @@ public class TestRegionServerCoprocessorEndpoint { implements RegionServerCoprocessor { @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerCustomProtocol.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerCustomProtocol.java index 90cf10c96ea..bad01f3eae7 100644 --- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerCustomProtocol.java +++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerCustomProtocol.java @@ -23,8 +23,8 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.io.IOException; +import java.util.Collections; import java.util.Map; -import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -124,8 +124,8 @@ public class TestServerCustomProtocol { } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } } diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java index 5001e043159..cb5373da1b1 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.java @@ -19,9 +19,9 @@ package org.apache.hadoop.hbase.coprocessor.example; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; -import java.util.Optional; import java.util.Set; import java.util.TreeSet; @@ -102,8 +102,8 @@ public class BulkDeleteEndpoint extends BulkDeleteService implements RegionCopro private RegionCoprocessorEnvironment env; @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java index 4709d55e707..71d40d43ecd 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.java @@ -32,7 +32,7 @@ import org.apache.hadoop.hbase.protobuf.generated.RefreshHFilesProtos; import org.apache.hadoop.hbase.regionserver.Store; import java.io.IOException; -import java.util.Optional; +import java.util.Collections; /** * Coprocessor endpoint to refresh HFiles on replica. @@ -51,8 +51,8 @@ public class RefreshHFilesEndpoint extends RefreshHFilesProtos.RefreshHFilesServ } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java index 7e7532400f6..ff7b43dcef7 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.java @@ -20,8 +20,8 @@ package org.apache.hadoop.hbase.coprocessor.example; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.Optional; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; @@ -58,8 +58,8 @@ public class RowCountEndpoint extends ExampleProtos.RowCountService implements R * Just returns a reference to this object, which implements the RowCounterService interface. */ @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } /** diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java index 49e5ed7f11d..55062930cda 100644 --- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java +++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java @@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.rsgroup; import java.io.IOException; +import java.util.Collections; import java.util.HashSet; import java.util.Optional; import java.util.Set; @@ -96,8 +97,8 @@ public class RSGroupAdminEndpoint implements MasterCoprocessor, MasterObserver { } @Override - public Optional getService() { - return Optional.of(groupAdminService); + public Iterable getServices() { + return Collections.singleton(groupAdminService); } @Override diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRowProcessorEndpoint.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRowProcessorEndpoint.java index df3ed233452..f460ac93256 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRowProcessorEndpoint.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRowProcessorEndpoint.java @@ -20,7 +20,7 @@ package org.apache.hadoop.hbase.coprocessor; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.Optional; +import java.util.Collections; import org.apache.yetus.audience.InterfaceAudience; import org.apache.yetus.audience.InterfaceStability; @@ -83,8 +83,8 @@ extends RowProcessorService implements RegionCoprocessor { } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } /** diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorServiceBackwardCompatiblity.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorServiceBackwardCompatiblity.java index c677d638487..23c63a22496 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorServiceBackwardCompatiblity.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorServiceBackwardCompatiblity.java @@ -22,7 +22,7 @@ package org.apache.hadoop.hbase.coprocessor; import com.google.protobuf.Service; import org.apache.yetus.audience.InterfaceAudience; -import java.util.Optional; +import java.util.Collections; /** * Classes to help maintain backward compatibility with now deprecated {@link CoprocessorService} @@ -50,8 +50,8 @@ public class CoprocessorServiceBackwardCompatiblity { } @Override - public Optional getService() { - return Optional.of(service.getService()); + public Iterable getServices() { + return Collections.singleton(service.getService()); } } @@ -64,8 +64,8 @@ public class CoprocessorServiceBackwardCompatiblity { } @Override - public Optional getService() { - return Optional.of(service.getService()); + public Iterable getServices() { + return Collections.singleton(service.getService()); } } @@ -78,8 +78,8 @@ public class CoprocessorServiceBackwardCompatiblity { } @Override - public Optional getService() { - return Optional.of(service.getService()); + public Iterable getServices() { + return Collections.singleton(service.getService()); } } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MultiRowMutationEndpoint.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MultiRowMutationEndpoint.java index fbb410184c7..5d44cd6cd1c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MultiRowMutationEndpoint.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MultiRowMutationEndpoint.java @@ -19,8 +19,8 @@ package org.apache.hadoop.hbase.coprocessor; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.Optional; import java.util.SortedSet; import java.util.TreeSet; @@ -120,8 +120,8 @@ public class MultiRowMutationEndpoint extends MultiRowMutationService implements } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } /** diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/WALCoprocessor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/WALCoprocessor.java index d87c06d6ced..1deddf9407b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/WALCoprocessor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/WALCoprocessor.java @@ -26,7 +26,7 @@ import org.apache.yetus.audience.InterfaceStability; import java.util.Optional; /** - * WALCoprocessor don't support loading services using {@link #getService()}. + * WALCoprocessor don't support loading services using {@link #getServices()}. */ @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.COPROC) @InterfaceStability.Evolving 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 56cf496297a..5431ecee6ce 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 @@ -23,6 +23,7 @@ import java.io.IOException; import java.util.List; import java.util.Set; +import com.google.protobuf.Service; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -126,7 +127,10 @@ public class MasterCoprocessorHost @Override public MasterEnvironment createEnvironment(final MasterCoprocessor instance, final int priority, final int seq, final Configuration conf) { - instance.getService().ifPresent(masterServices::registerService); + // If coprocessor exposes any services, register them. + for (Service service : instance.getServices()) { + masterServices.registerService(service); + } return new MasterEnvironment(instance, priority, seq, conf, masterServices); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java index 84e9aa53671..1d9abca3dbd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java @@ -393,9 +393,10 @@ public class RegionCoprocessorHost @Override public RegionEnvironment createEnvironment(RegionCoprocessor instance, int priority, int seq, Configuration conf) { - // Due to current dynamic protocol design, Endpoint uses a different way to be registered and - // executed. It uses a visitor pattern to invoke registered Endpoint method. - instance.getService().ifPresent(region::registerService); + // If coprocessor exposes any services, register them. + for (Service service : instance.getServices()) { + region.registerService(service); + } ConcurrentMap classData; // make sure only one thread can add maps synchronized (SHARED_DATA_MAP) { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java index 3325ba30990..b083b3fe376 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java @@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.regionserver; import java.io.IOException; +import com.google.protobuf.Service; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -206,7 +207,10 @@ public class RegionServerCoprocessorHost extends final int seq, final Configuration conf, final RegionServerServices services) { super(impl, priority, seq, conf); this.regionServerServices = services; - impl.getService().ifPresent(regionServerServices::registerService); + // If coprocessor exposes any services, register them. + for (Service service : impl.getServices()) { + regionServerServices.registerService(service); + } this.metricRegistry = MetricsCoprocessor.createRegistryForRSCoprocessor(impl.getClass().getName()); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java index d66b754c53b..c8a089b43a7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java @@ -23,6 +23,7 @@ import java.net.InetAddress; import java.security.PrivilegedExceptionAction; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -126,8 +127,6 @@ import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists; import org.apache.hadoop.hbase.shaded.com.google.common.collect.MapMaker; import org.apache.hadoop.hbase.shaded.com.google.common.collect.Maps; import org.apache.hadoop.hbase.shaded.com.google.common.collect.Sets; -import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest; -import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest; import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils; import org.apache.hadoop.hbase.util.ByteRange; import org.apache.hadoop.hbase.util.Bytes; @@ -1019,8 +1018,9 @@ public class AccessController implements MasterCoprocessor, RegionCoprocessor, } @Override - public Optional getService() { - return Optional.of(AccessControlProtos.AccessControlService.newReflectiveService(this)); + public Iterable getServices() { + return Collections.singleton( + AccessControlProtos.AccessControlService.newReflectiveService(this)); } /*********************************** Observer implementations ***********************************/ diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/TokenProvider.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/TokenProvider.java index 4b1f28ea91d..e1b0f84a708 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/TokenProvider.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/TokenProvider.java @@ -19,7 +19,7 @@ package org.apache.hadoop.hbase.security.token; import java.io.IOException; -import java.util.Optional; +import java.util.Collections; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -96,8 +96,9 @@ public class TokenProvider implements AuthenticationProtos.AuthenticationService // AuthenticationService implementation @Override - public Optional getService() { - return Optional.of(AuthenticationProtos.AuthenticationService.newReflectiveService(this)); + public Iterable getServices() { + return Collections.singleton( + AuthenticationProtos.AuthenticationService.newReflectiveService(this)); } @Override diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java index 671e98998c8..57b79a4c9ee 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java @@ -26,6 +26,7 @@ import static org.apache.hadoop.hbase.security.visibility.VisibilityConstants.LA import java.io.IOException; import java.net.InetAddress; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -200,8 +201,9 @@ public class VisibilityController implements MasterCoprocessor, RegionCoprocesso } @Override - public Optional getService() { - return Optional.of(VisibilityLabelsProtos.VisibilityLabelsService.newReflectiveService(this)); + public Iterable getServices() { + return Collections.singleton( + VisibilityLabelsProtos.VisibilityLabelsService.newReflectiveService(this)); } /********************************* Master related hooks **********************************/ diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java index 05776ff5eb5..81c11fd4891 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java @@ -35,8 +35,8 @@ import java.io.IOException; import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; -import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -2564,8 +2564,8 @@ public class TestAccessController extends SecureTestUtil { public void stop(CoprocessorEnvironment env) throws IOException { } @Override - public Optional getService() { - return Optional.of(this); + public Iterable getServices() { + return Collections.singleton(this); } @Override