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

Hudson commented on HBASE-17312:
--------------------------------

SUCCESS: Integrated in Jenkins build HBase-Trunk_matrix #2569 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/2569/])
HBASE-17312 Use 'default' keyword in coprocessor Observer interfaces to (appy: 
rev f444b3b54210dd3101c9a3fd22ccea384d1100d5)
* (edit) 
hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.java
* (edit) 
hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestBulkLoad.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java
* (delete) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/SimpleRegionObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java
* (edit) 
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.java
* (delete) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableBatch.java
* (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/package-info.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestEnableTable.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/SecureTestUtil.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/EndpointObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWithTags.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionLocatorTimeout.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
* (edit) src/main/asciidoc/_chapters/cp.adoc
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAvoidCellReferencesIntoShippedBlocks.java
* (edit) 
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientOperationInterrupt.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
* (edit) 
hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSettingTimeoutOnBlockingPoint.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverScannerOpenHook.java
* (edit) 
hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/WALObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClient.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverStacking.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocatorConcurrenyLimit.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/SampleRegionWALObserver.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/constraint/ConstraintProcessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCoprocessorWhitelistMasterObserver.java
* (edit) 
hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
* (delete) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java
* (edit) 
hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift/ErrorThrowingGetObserver.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/Coprocessor.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorMetrics.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpointNoMaster.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BulkLoadObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.java
* (edit) 
hbase-client/src/test/java/org/apache/hadoop/hbase/TestHTableDescriptor.java
* (delete) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionServerObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerRetriableFailure.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerWithCorruptHFile.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverBypass.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestCoprocessorScanPolicy.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/NoOpScanPolicyObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestTags.java
* (delete) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseWALObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicasClient.java


> [JDK8] Use default method for Observer Coprocessors
> ---------------------------------------------------
>
>                 Key: HBASE-17312
>                 URL: https://issues.apache.org/jira/browse/HBASE-17312
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>    Affects Versions: 2.0.0
>            Reporter: Guanghao Zhang
>            Assignee: Appy
>              Labels: incompatible
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17312.master.001.patch, 
> HBASE-17312.master.001.patch, HBASE-17312.master.002.patch, 
> HBASE-17312.master.003.patch, HBASE-17312.master.004.patch, 
> HBASE-17312.master.005.patch, HBASE-17312.master.006.patch
>
>
> In cases where one might need to use multiple observers, say region, master 
> and regionserver; and the fact that only one class can be extended, it gives 
> rise to following pattern:
> {noformat}
>     public class BaseMasterAndRegionObserver
>       extends BaseRegionObserver
>       implements MasterObserver
>     class AccessController
>       extends BaseMasterAndRegionObserver
>       implements RegionServerObserver
> {noformat}
> were BaseMasterAndRegionObserver is full copy of BaseMasterObserver.
>  There is an example of simple case too where the current design fails.
>  Say only one observer is needed by the coprocessor, but the design doesn't 
> permit extending even that single observer (see RSGroupAdminEndpoint), that 
> leads to full copy of Base...Observer class into coprocessor class leading to 
> 1000s of lines of code and this ugly mix of 5 main functions with 100 useless 
> functions.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to