Details
-
Sub-task
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
-
Incompatible change, Reviewed
-
HideThe methods which change to use TableDescriptor/ColumnFamilyDescriptor are shown below.
+ preCreateTable( ObserverContext,TableDescriptor, HRegionInfo[])
+ postCreateTable(ObserverContext ,TableDescriptor, HRegionInfo[])
+ preCreateTableAction(ObserverContext, TableDescriptor,HRegionInfo[])
+ postCompletedCreateTableAction(ObserverContext,TableDescriptor,HRegionInfo[])
+ preModifyTable(ObserverContext,TableName, TableDescriptor)
+ postModifyTable(ObserverContext,TableName, TableDescriptor)
+ preModifyTableAction( ObserverContext,TableName,TableDescriptor)
+ postCompletedModifyTableAction( ObserverContext,TableName,TableDescriptor)
+ preAddColumnFamily(ObserverContext,TableName, ColumnFamilyDescriptor)
+ postAddColumnFamily(ObserverContext,TableName, ColumnFamilyDescriptor)
+ preAddColumnFamilyAction(ObserverContext,TableName,ColumnFamilyDescriptor)
+ postCompletedAddColumnFamilyAction(ObserverContext,TableName, ColumnFamilyDescriptor)
+ preModifyColumnFamily(ObserverContext,TableName, ColumnFamilyDescriptor)
+ preModifyColumnFamilyAction(ObserverContext<MasterCoprocessorEnvironment,TableName,ColumnFamilyDescriptor)
+ postCompletedModifyColumnFamilyAction(ObserverContext<MasterCoprocessorEnvironment>,TableName,ColumnFamilyDescriptor)
+ preCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment>,SnapshotDescription,TableDescriptor)
+ postCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment>,SnapshotDescription,TableDescripto)
+ preRestoreSnapshot(ObserverContext<MasterCoprocessorEnvironment,SnapshotDescription,TableDescriptor)
+ postRestoreSnapshot(ObserverContext<MasterCoprocessorEnvironment,SnapshotDescription,TableDescriptor)
+ preGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment>,List<TableName>, List<TableDescriptor>,String)
+ postGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment>,List<TableName>, List<TableDescriptor>,String)
+ preGetTableNames(ObserverContext<MasterCoprocessorEnvironment>,List<TableDescriptor>, String)
+ postGetTableNames(ObserverContext<MasterCoprocessorEnvironment>,List<TableDescriptor>, String)
ShowThe methods which change to use TableDescriptor/ColumnFamilyDescriptor are shown below. + preCreateTable( ObserverContext,TableDescriptor, HRegionInfo[]) + postCreateTable(ObserverContext ,TableDescriptor, HRegionInfo[]) + preCreateTableAction(ObserverContext, TableDescriptor,HRegionInfo[]) + postCompletedCreateTableAction(ObserverContext,TableDescriptor,HRegionInfo[]) + preModifyTable(ObserverContext,TableName, TableDescriptor) + postModifyTable(ObserverContext,TableName, TableDescriptor) + preModifyTableAction( ObserverContext,TableName,TableDescriptor) + postCompletedModifyTableAction( ObserverContext,TableName,TableDescriptor) + preAddColumnFamily(ObserverContext,TableName, ColumnFamilyDescriptor) + postAddColumnFamily(ObserverContext,TableName, ColumnFamilyDescriptor) + preAddColumnFamilyAction(ObserverContext,TableName,ColumnFamilyDescriptor) + postCompletedAddColumnFamilyAction(ObserverContext,TableName, ColumnFamilyDescriptor) + preModifyColumnFamily(ObserverContext,TableName, ColumnFamilyDescriptor) + preModifyColumnFamilyAction(ObserverContext<MasterCoprocessorEnvironment,TableName,ColumnFamilyDescriptor) + postCompletedModifyColumnFamilyAction(ObserverContext<MasterCoprocessorEnvironment>,TableName,ColumnFamilyDescriptor) + preCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment>,SnapshotDescription,TableDescriptor) + postCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment>,SnapshotDescription,TableDescripto) + preRestoreSnapshot(ObserverContext<MasterCoprocessorEnvironment,SnapshotDescription,TableDescriptor) + postRestoreSnapshot(ObserverContext<MasterCoprocessorEnvironment,SnapshotDescription,TableDescriptor) + preGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment>,List<TableName>, List<TableDescriptor>,String) + postGetTableDescriptors(ObserverContext<MasterCoprocessorEnvironment>,List<TableName>, List<TableDescriptor>,String) + preGetTableNames(ObserverContext<MasterCoprocessorEnvironment>,List<TableDescriptor>, String) + postGetTableNames(ObserverContext<MasterCoprocessorEnvironment>,List<TableDescriptor>, String)
Description
MasterObserver is IA.COPROC so we can make some Incompatible change for 3.0 and 2.0
Attachments
Attachments
- HBASE-18502.v0.patch
- 73 kB
- Chia-Ping Tsai
- HBASE-18502.v1.patch
- 82 kB
- Chia-Ping Tsai
- HBASE-18502.v1.patch
- 82 kB
- Chia-Ping Tsai
- HBASE-18502.v2.patch
- 83 kB
- Chia-Ping Tsai
Issue Links
- blocks
-
HBASE-18503 Change ***Util and Master to use TableDescriptor and ColumnFamilyDescriptor
- Resolved
Activity
Can we break the coprocessor API for 2.0?
It is broke already as you note. I started discussion on dev list so we all agree that is coolio. Thanks chia7712
The deprecated methods are not modified so as to simplify the update from hbase1 to hbase2 for user.
-1 overall |
Vote | Subsystem | Runtime | Comment |
---|---|---|---|
0 | reexec | 0m 17s | Docker mode activated. |
+1 | hbaseanti | 0m 0s | Patch does not have any anti-patterns. |
+1 | @author | 0m 0s | The patch does not contain any @author tags. |
+1 | test4tests | 0m 0s | The patch appears to include 11 new or modified test files. |
0 | mvndep | 0m 40s | Maven dependency ordering for branch |
+1 | mvninstall | 4m 1s | master passed |
+1 | compile | 1m 14s | master passed |
+1 | checkstyle | 2m 38s | master passed |
+1 | mvneclipse | 0m 48s | master passed |
+1 | findbugs | 4m 27s | master passed |
+1 | javadoc | 0m 59s | master passed |
0 | mvndep | 0m 18s | Maven dependency ordering for patch |
+1 | mvninstall | 1m 32s | the patch passed |
+1 | compile | 1m 19s | the patch passed |
+1 | javac | 1m 19s | the patch passed |
+1 | checkstyle | 2m 33s | the patch passed |
+1 | mvneclipse | 0m 48s | the patch passed |
+1 | whitespace | 0m 0s | The patch has no whitespace issues. |
+1 | hadoopcheck | 34m 50s | Patch does not cause any errors with Hadoop 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. |
+1 | findbugs | 4m 53s | the patch passed |
+1 | javadoc | 1m 2s | the patch passed |
-1 | unit | 116m 44s | hbase-server in the patch failed. |
+1 | unit | 0m 30s | hbase-rsgroup in the patch passed. |
+1 | unit | 0m 44s | hbase-examples in the patch passed. |
+1 | asflicense | 0m 45s | The patch does not generate ASF License warnings. |
181m 53s |
Reason | Tests |
---|---|
Failed junit tests | hadoop.hbase.security.access.TestAccessController |
hadoop.hbase.master.TestMasterFailover |
Subsystem | Report/Notes |
---|---|
Docker | Client=1.13.1 Server=1.13.1 Image:yetus/hbase:bdc94b1 |
JIRA Issue | |
JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12880235/HBASE-18502.v0.patch |
Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile |
uname | Linux 964c783dddbc 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
Build tool | maven |
Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh |
git revision | master / fe890b7 |
Default Java | 1.8.0_131 |
findbugs | v3.1.0-RC3 |
unit | https://builds.apache.org/job/PreCommit-HBASE-Build/7914/artifact/patchprocess/patch-unit-hbase-server.txt |
Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/7914/testReport/ |
modules | C: hbase-server hbase-rsgroup hbase-examples U: . |
Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/7914/console |
Powered by | Apache Yetus 0.4.0 http://yetus.apache.org |
This message was automatically generated.
v1 patch
- fix TestAccessController
- The TestMasterFailover, which is enabled recently by
HBASE-18231, is a flak test. And it is tracked byHBASE-18425.
-1 overall |
Vote | Subsystem | Runtime | Comment |
---|---|---|---|
0 | reexec | 0m 23s | Docker mode activated. |
+1 | hbaseanti | 0m 0s | Patch does not have any anti-patterns. |
+1 | @author | 0m 0s | The patch does not contain any @author tags. |
+1 | test4tests | 0m 0s | The patch appears to include 12 new or modified test files. |
0 | mvndep | 0m 32s | Maven dependency ordering for branch |
+1 | mvninstall | 4m 4s | master passed |
+1 | compile | 1m 20s | master passed |
+1 | checkstyle | 2m 31s | master passed |
+1 | mvneclipse | 0m 45s | master passed |
+1 | findbugs | 4m 1s | master passed |
+1 | javadoc | 0m 57s | master passed |
0 | mvndep | 0m 17s | Maven dependency ordering for patch |
+1 | mvninstall | 1m 27s | the patch passed |
+1 | compile | 1m 20s | the patch passed |
+1 | javac | 1m 20s | the patch passed |
+1 | checkstyle | 2m 30s | the patch passed |
+1 | mvneclipse | 0m 43s | the patch passed |
+1 | whitespace | 0m 0s | The patch has no whitespace issues. |
+1 | hadoopcheck | 32m 59s | Patch does not cause any errors with Hadoop 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. |
+1 | findbugs | 4m 43s | the patch passed |
+1 | javadoc | 1m 6s | the patch passed |
-1 | unit | 146m 34s | hbase-server in the patch failed. |
+1 | unit | 0m 37s | hbase-rsgroup in the patch passed. |
+1 | unit | 0m 54s | hbase-examples in the patch passed. |
+1 | asflicense | 0m 52s | The patch does not generate ASF License warnings. |
209m 24s |
Reason | Tests |
---|---|
Failed junit tests | hadoop.hbase.master.TestMasterFailover |
Subsystem | Report/Notes |
---|---|
Docker | Client=1.13.1 Server=1.13.1 Image:yetus/hbase:bdc94b1 |
JIRA Issue | |
JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12880342/HBASE-18502.v1.patch |
Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile |
uname | Linux 9b85c1308887 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
Build tool | maven |
Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh |
git revision | master / 6266bb3 |
Default Java | 1.8.0_131 |
findbugs | v3.1.0-RC3 |
unit | https://builds.apache.org/job/PreCommit-HBASE-Build/7923/artifact/patchprocess/patch-unit-hbase-server.txt |
Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/7923/testReport/ |
modules | C: hbase-server hbase-rsgroup hbase-examples U: . |
Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/7923/console |
Powered by | Apache Yetus 0.4.0 http://yetus.apache.org |
This message was automatically generated.
+1 overall |
Vote | Subsystem | Runtime | Comment |
---|---|---|---|
0 | reexec | 18m 6s | Docker mode activated. |
+1 | hbaseanti | 0m 0s | Patch does not have any anti-patterns. |
+1 | @author | 0m 0s | The patch does not contain any @author tags. |
+1 | test4tests | 0m 0s | The patch appears to include 12 new or modified test files. |
0 | mvndep | 2m 27s | Maven dependency ordering for branch |
+1 | mvninstall | 5m 50s | master passed |
+1 | compile | 1m 11s | master passed |
+1 | checkstyle | 2m 28s | master passed |
+1 | mvneclipse | 0m 56s | master passed |
+1 | findbugs | 3m 53s | master passed |
+1 | javadoc | 0m 58s | master passed |
0 | mvndep | 0m 16s | Maven dependency ordering for patch |
+1 | mvninstall | 1m 16s | the patch passed |
+1 | compile | 1m 9s | the patch passed |
+1 | javac | 1m 9s | the patch passed |
+1 | checkstyle | 2m 34s | the patch passed |
+1 | mvneclipse | 0m 52s | the patch passed |
+1 | whitespace | 0m 0s | The patch has no whitespace issues. |
+1 | hadoopcheck | 34m 54s | Patch does not cause any errors with Hadoop 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. |
+1 | findbugs | 4m 57s | the patch passed |
+1 | javadoc | 1m 15s | the patch passed |
+1 | unit | 156m 18s | hbase-server in the patch passed. |
+1 | unit | 0m 33s | hbase-rsgroup in the patch passed. |
+1 | unit | 0m 50s | hbase-examples in the patch passed. |
+1 | asflicense | 0m 48s | The patch does not generate ASF License warnings. |
242m 20s |
Subsystem | Report/Notes |
---|---|
Docker | Client=1.12.0 Server=1.12.0 Image:yetus/hbase:bdc94b1 |
JIRA Issue | |
JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12880407/HBASE-18502.v1.patch |
Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile |
uname | Linux 545d11c85ed9 3.13.0-123-generic #172-Ubuntu SMP Mon Jun 26 18:04:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
Build tool | maven |
Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh |
git revision | master / 2bde7a1 |
Default Java | 1.8.0_144 |
findbugs | v3.1.0-RC3 |
Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/7931/testReport/ |
modules | C: hbase-server hbase-rsgroup hbase-examples U: . |
Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/7931/console |
Powered by | Apache Yetus 0.4.0 http://yetus.apache.org |
This message was automatically generated.
Skimmed. +1. anoop.hbase and were just talking about the need to change these yesterday. Thank you chia7712
lgtm
Looked at hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/package-info.java which doesn't need to be modified
v2 patch
- update the example in hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/package-info.java
- rebase patch owing to
HBASE-18520
+1 overall |
Vote | Subsystem | Runtime | Comment |
---|---|---|---|
0 | reexec | 0m 15s | Docker mode activated. |
+1 | hbaseanti | 0m 0s | Patch does not have any anti-patterns. |
+1 | @author | 0m 0s | The patch does not contain any @author tags. |
+1 | test4tests | 0m 0s | The patch appears to include 12 new or modified test files. |
0 | mvndep | 0m 32s | Maven dependency ordering for branch |
+1 | mvninstall | 4m 9s | master passed |
+1 | compile | 1m 27s | master passed |
+1 | checkstyle | 2m 43s | master passed |
+1 | mvneclipse | 0m 54s | master passed |
+1 | findbugs | 4m 54s | master passed |
+1 | javadoc | 1m 9s | master passed |
0 | mvndep | 0m 20s | Maven dependency ordering for patch |
+1 | mvninstall | 1m 37s | the patch passed |
+1 | compile | 1m 27s | the patch passed |
+1 | javac | 1m 27s | the patch passed |
+1 | checkstyle | 2m 46s | the patch passed |
+1 | mvneclipse | 0m 54s | the patch passed |
+1 | whitespace | 0m 0s | The patch has no whitespace issues. |
+1 | hadoopcheck | 37m 42s | Patch does not cause any errors with Hadoop 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha4. |
+1 | findbugs | 5m 21s | the patch passed |
+1 | javadoc | 1m 9s | the patch passed |
+1 | unit | 125m 44s | hbase-server in the patch passed. |
+1 | unit | 0m 35s | hbase-rsgroup in the patch passed. |
+1 | unit | 0m 54s | hbase-examples in the patch passed. |
+1 | asflicense | 0m 51s | The patch does not generate ASF License warnings. |
196m 19s |
Subsystem | Report/Notes |
---|---|
Docker | Client=1.11.2 Server=1.11.2 Image:yetus/hbase:bdc94b1 |
JIRA Issue | |
JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12880554/HBASE-18502.v2.patch |
Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile |
uname | Linux da9d9f7cb1bf 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
Build tool | maven |
Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh |
git revision | master / 637f7ab |
Default Java | 1.8.0_131 |
findbugs | v3.1.0-RC3 |
Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/7950/testReport/ |
modules | C: hbase-server hbase-rsgroup hbase-examples U: . |
Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/7950/console |
Powered by | Apache Yetus 0.4.0 http://yetus.apache.org |
This message was automatically generated.
Will commit it tomorrow unless any disapprobation is raised
Thanks... Ya me and Stack discussed abt this last week.
So we have changed the CP methods for 2.0 now. Should be deprecate them with addition of new methods for branch-1? How we were doing this in other jiras?
So we have changed the CP methods for 2.0 now
No deprecated methods are changed to use TableDescriptor/ColumnFamilyDescriptor by this jira. Only the methods introduced by HBASE-17312 are changed to use TableDescriptor/ColumnFamilyDescriptor.
Should be deprecate them with addition of new methods for branch-1?
We need to discuss HBASE-18528 first. The changes for MasterObserver are not over.
FAILURE: Integrated in Jenkins build HBASE-14070.HLC #233 (See https://builds.apache.org/job/HBASE-14070.HLC/233/)
HBASE-18502 Change MasterObserver to use TableDescriptor and (chia7712: rev fd76eb39d727f2794cf9eaa7c81d27dc2bf1036b)
- (edit) hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
- (edit) hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
- (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
- (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
- (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.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/coprocessor/package-info.java
- (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorMetrics.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.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/coprocessor/TestMasterCoprocessorExceptionWithRemove.java
- (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.java
- (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.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/master/MasterRpcServices.java
- (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
There are some deprecated methods introduced by
HBASE-15575.Can we break the coprocessor API for 2.0?
HBASE-17312makes some incompatible changes for MasterObserver butHBASE-13645andHBASE-15575don't.