Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-18431

Mitigate compatibility concerns between branch-1.3 and branch-1.4

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • 1.4.0, 2.0.0
    • None
    • None
    • Reviewed

    Description

      There are compatibility concerns with branch-1.4.

      Library Name	HBase
      Version #1	1.3.1
      Version #2	1.4.0-SNAPSHOT
      Subject	Binary Compatibility
      
      Compatibility - 89.9%
      
      Added Methods - 305
      Removed Methods - 105
      Problems with Data Types
      	High - 23
      	Medium - 9
      	Low - 21
      
      Library Name	HBase
      Version #1	1.3.1
      Version #2	1.4.0-SNAPSHOT
      Subject	Source Compatibility
      
      Compatibility- 86.5%
      
      Added Methods - 305
      Removed Methods - 105
      Problems with Data Types
      	High - 88
      	Medium - 0
      	Low - 0
      Other Changes in Data Types	 - 25
      

      This report includes HBASE-15816 which hasn't been committed yet. Otherwise it's current.

      I'm not generally concerned with added methods.

      The following methods have been added to Public/Evolving interface Table. Pointing them out in case it merits review.


      • Abstract method Table.getReadRpcTimeout ( ) has been added to this interface. No effect.
      • Abstract method Table.getWriteRpcTimeout ( ) has been added to this interface. No effect.
      • Abstract method Table.setReadRpcTimeout ( int ) has been added to this interface. No effect.
      • Abstract method Table.setWriteRpcTimeout ( int ) has been added to this interface.

      The Public/Evolving interface Admin has some signature changes equating to removed methods. I don't think this is allowed in a minor release.


      • Abstract method Admin.isSnapshotFinished ( HBaseProtos.SnapshotDescription ) has been removed from Admin.
      • Abstract method Admin.snapshot ( String, TableName, HBaseProtos.SnapshotDescription.Type ) has been removed from Admin.
      • Abstract method Admin.snapshot ( HBaseProtos.SnapshotDescription ) has been removed from Admin.
      • Abstract method Admin.takeSnapshotAsync ( HBaseProtos.SnapshotDescription ) has been removed from Admin.

      The LimitedPrivate(CONFIG) interface AsyncRpcClient has been removed. This change is debatable but I think we can allow it.


      • AsyncRpcClient has been removed

      The Public/Evolving class FastLongHistogram has been removed. I don't believe this change is allowed in a minor release.


      • FastLongHistogram has been removed

      Method signatures in LimitedPrivate(COPROC) interfaces MasterObserver and RegionObserver have changed, equating to removed methods. The first set of changes is due to move of SnapshotDescription from HBaseProtos to SnapshotProtos:


      • Abstract method MasterObserver.postCloneSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
      • Abstract method MasterObserver.postDeleteSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
      • Abstract method MasterObserver.postListSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
      • Abstract method MasterObserver.postRestoreSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
      • Abstract method MasterObserver.postSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
      • Abstract method MasterObserver.preCloneSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
      • Abstract method MasterObserver.preDeleteSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
      • Abstract method MasterObserver.preListSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
      • Abstract method MasterObserver.preRestoreSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.
      • Abstract method MasterObserver.preSnapshot ( ObserverContext<MasterCoprocessorEnvironment>, HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from MasterObserver.

      Here, maybe DeleteTracker moved packages?


      • Abstract method RegionObserver.postInstantiateDeleteTracker ( ObserverContext<RegionCoprocessorEnvironment>, DeleteTracker ) has been removed from RegionObserver.

      The LimitedPrivate(COPROC) interface Store has method signature changes equating to removed methods. The changes are debatable. I am thinking we can allow them. Anyone implementing their own Stores?


      • Abstract method Store.bulkLoadHFile ( String, long ) has been removed from Store.
      • Abstract method Store.getScanners ( List<StoreFile>, boolean, boolean, boolean, boolean, ScanQueryMatcher, byte[ ], byte[ ], long, boolean ) has been removed from Store.
      • Abstract method Store.getScanners ( boolean, boolean, boolean, boolean, ScanQueryMatcher, byte[ ], byte[ ], long ) has been removed from Store.
      • Abstract method Store.upsert ( Iterable<Cell>, long ) has been removed from Store.

      Attachments

        1. HBASE-18431-branch-1.4.patch
          902 kB
          Andrew Kyle Purtell
        2. HBASE-18431-branch-1.patch
          902 kB
          Andrew Kyle Purtell
        3. HBASE-18431-branch-2-WIP.patch
          276 kB
          Andrew Kyle Purtell

        Activity

          Both the Admin and MasterObserver changes can be resolved by moving SnapshotDescription back into HBaseProtos.

          apurtell Andrew Kyle Purtell added a comment - Both the Admin and MasterObserver changes can be resolved by moving SnapshotDescription back into HBaseProtos.
          apurtell Andrew Kyle Purtell added a comment - - edited

          Both the Admin and MasterObserver changes can be resolved by moving SnapshotDescription back into HBaseProtos.

          This is fun. SnapshotDescription includes something from AccessControl.proto, which includes HBase.proto, so putting SnapshotDescription into HBase.proto leads to disallowed recursion between proto modules. Let me see if I can find an alternative that doesn't affect public APIs.

          apurtell Andrew Kyle Purtell added a comment - - edited Both the Admin and MasterObserver changes can be resolved by moving SnapshotDescription back into HBaseProtos. This is fun. SnapshotDescription includes something from AccessControl.proto, which includes HBase.proto, so putting SnapshotDescription into HBase.proto leads to disallowed recursion between proto modules. Let me see if I can find an alternative that doesn't affect public APIs.
          apurtell Andrew Kyle Purtell added a comment - - edited

          Attached patch resolves all identified binary compatibility issues of concern.

          • Move SnapshotDescription from Snapshot.proto back to HBase.proto. This change will only be needed for branch-1.4 and branch-1.
          • Break a cycle with proto definitions by moving TableName into its own proto module and fixing up users. This change will need to be carried forward to all versions. Is this ok as-is or would you like it done a bit differently stack ?
          • Restore FastLongHistogram and TestFastLongHistogram and deprecate FastLongHistogram. This change will only be needed for branch-1.4 and branch-1.
          • Move DeleteQueryTracker back to o.a.h.h.regionserver. This change will only be needed for branch-1 and branch-1.4.
          apurtell Andrew Kyle Purtell added a comment - - edited Attached patch resolves all identified binary compatibility issues of concern. Move SnapshotDescription from Snapshot.proto back to HBase.proto. This change will only be needed for branch-1.4 and branch-1. Break a cycle with proto definitions by moving TableName into its own proto module and fixing up users. This change will need to be carried forward to all versions. Is this ok as-is or would you like it done a bit differently stack ? Restore FastLongHistogram and TestFastLongHistogram and deprecate FastLongHistogram. This change will only be needed for branch-1.4 and branch-1. Move DeleteQueryTracker back to o.a.h.h.regionserver. This change will only be needed for branch-1 and branch-1.4.
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 22s 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 17 new or modified test files.
          0 mvndep 1m 19s Maven dependency ordering for branch
          +1 mvninstall 6m 0s branch-1.4 passed
          +1 compile 1m 24s branch-1.4 passed with JDK v1.8.0_131
          +1 compile 1m 30s branch-1.4 passed with JDK v1.7.0_131
          +1 checkstyle 9m 22s branch-1.4 passed
          +1 mvneclipse 1m 9s branch-1.4 passed
          +1 findbugs 5m 49s branch-1.4 passed
          +1 javadoc 1m 10s branch-1.4 passed with JDK v1.8.0_131
          +1 javadoc 1m 24s branch-1.4 passed with JDK v1.7.0_131
          0 mvndep 0m 13s Maven dependency ordering for patch
          +1 mvninstall 1m 47s the patch passed
          +1 compile 1m 31s the patch passed with JDK v1.8.0_131
          +1 cc 1m 31s the patch passed
          +1 javac 1m 31s the patch passed
          +1 compile 1m 35s the patch passed with JDK v1.7.0_131
          +1 cc 1m 35s the patch passed
          +1 javac 1m 35s the patch passed
          +1 checkstyle 9m 44s the patch passed
          +1 mvneclipse 0m 58s the patch passed
          -1 whitespace 0m 0s The patch has 103 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
          +1 xml 0m 1s The patch has no ill-formed XML file.
          +1 hadoopcheck 17m 15s The patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1.
          -1 hbaseprotoc 0m 23s Patch generated 4 new protoc errors in hbase-protocol.
          -1 hbaseprotoc 0m 12s Patch generated 4 new protoc errors in hbase-common.
          -1 hbaseprotoc 0m 12s Patch generated 4 new protoc errors in hbase-client.
          -1 hbaseprotoc 0m 18s Patch generated 4 new protoc errors in hbase-server.
          +1 findbugs 6m 44s the patch passed
          +1 javadoc 1m 9s the patch passed with JDK v1.8.0_131
          +1 javadoc 1m 24s the patch passed with JDK v1.7.0_131
          +1 unit 0m 23s hbase-protocol in the patch passed.
          +1 unit 1m 47s hbase-common in the patch passed.
          +1 unit 2m 0s hbase-client in the patch passed.
          -1 unit 95m 39s hbase-server in the patch failed.
          +1 asflicense 1m 0s The patch does not generate ASF License warnings.
          175m 38s



          Reason Tests
          Failed junit tests hadoop.hbase.client.TestClientScannerRPCTimeout
            hadoop.hbase.client.TestReplicasClient
            hadoop.hbase.regionserver.TestRSKilledWhenInitializing
            hadoop.hbase.coprocessor.TestRowProcessorEndpoint
            hadoop.hbase.TestZooKeeper
            hadoop.hbase.mapred.TestTableSnapshotInputFormat
          Timed out junit tests org.apache.hadoop.hbase.security.access.TestCellACLs
            org.apache.hadoop.hbase.client.TestTableSnapshotScanner



          Subsystem Report/Notes
          Docker Client=1.12.3 Server=1.12.3 Image:yetus/hbase:8cfcd12
          JIRA Issue HBASE-18431
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878921/HBASE-18431-branch-1.4.patch
          Optional Tests asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile xml cc hbaseprotoc
          uname Linux 919f8fdc3e4e 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/patchprocess/precommit/personality/hbase.sh
          git revision branch-1.4 / f70b5f8
          Default Java 1.7.0_131
          Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_131 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131
          findbugs v3.0.0
          whitespace https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/whitespace-eol.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-protocol.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-common.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-client.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-server.txt
          unit https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-unit-hbase-server.txt
          Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/7788/testReport/
          modules C: hbase-protocol hbase-common hbase-client hbase-server U: .
          Console output https://builds.apache.org/job/PreCommit-HBASE-Build/7788/console
          Powered by Apache Yetus 0.4.0 http://yetus.apache.org

          This message was automatically generated.

          hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 0m 22s 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 17 new or modified test files. 0 mvndep 1m 19s Maven dependency ordering for branch +1 mvninstall 6m 0s branch-1.4 passed +1 compile 1m 24s branch-1.4 passed with JDK v1.8.0_131 +1 compile 1m 30s branch-1.4 passed with JDK v1.7.0_131 +1 checkstyle 9m 22s branch-1.4 passed +1 mvneclipse 1m 9s branch-1.4 passed +1 findbugs 5m 49s branch-1.4 passed +1 javadoc 1m 10s branch-1.4 passed with JDK v1.8.0_131 +1 javadoc 1m 24s branch-1.4 passed with JDK v1.7.0_131 0 mvndep 0m 13s Maven dependency ordering for patch +1 mvninstall 1m 47s the patch passed +1 compile 1m 31s the patch passed with JDK v1.8.0_131 +1 cc 1m 31s the patch passed +1 javac 1m 31s the patch passed +1 compile 1m 35s the patch passed with JDK v1.7.0_131 +1 cc 1m 35s the patch passed +1 javac 1m 35s the patch passed +1 checkstyle 9m 44s the patch passed +1 mvneclipse 0m 58s the patch passed -1 whitespace 0m 0s The patch has 103 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply +1 xml 0m 1s The patch has no ill-formed XML file. +1 hadoopcheck 17m 15s The patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. -1 hbaseprotoc 0m 23s Patch generated 4 new protoc errors in hbase-protocol. -1 hbaseprotoc 0m 12s Patch generated 4 new protoc errors in hbase-common. -1 hbaseprotoc 0m 12s Patch generated 4 new protoc errors in hbase-client. -1 hbaseprotoc 0m 18s Patch generated 4 new protoc errors in hbase-server. +1 findbugs 6m 44s the patch passed +1 javadoc 1m 9s the patch passed with JDK v1.8.0_131 +1 javadoc 1m 24s the patch passed with JDK v1.7.0_131 +1 unit 0m 23s hbase-protocol in the patch passed. +1 unit 1m 47s hbase-common in the patch passed. +1 unit 2m 0s hbase-client in the patch passed. -1 unit 95m 39s hbase-server in the patch failed. +1 asflicense 1m 0s The patch does not generate ASF License warnings. 175m 38s Reason Tests Failed junit tests hadoop.hbase.client.TestClientScannerRPCTimeout   hadoop.hbase.client.TestReplicasClient   hadoop.hbase.regionserver.TestRSKilledWhenInitializing   hadoop.hbase.coprocessor.TestRowProcessorEndpoint   hadoop.hbase.TestZooKeeper   hadoop.hbase.mapred.TestTableSnapshotInputFormat Timed out junit tests org.apache.hadoop.hbase.security.access.TestCellACLs   org.apache.hadoop.hbase.client.TestTableSnapshotScanner Subsystem Report/Notes Docker Client=1.12.3 Server=1.12.3 Image:yetus/hbase:8cfcd12 JIRA Issue HBASE-18431 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878921/HBASE-18431-branch-1.4.patch Optional Tests asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile xml cc hbaseprotoc uname Linux 919f8fdc3e4e 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/patchprocess/precommit/personality/hbase.sh git revision branch-1.4 / f70b5f8 Default Java 1.7.0_131 Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_131 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131 findbugs v3.0.0 whitespace https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/whitespace-eol.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-protocol.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-common.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-client.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-hbaseprotoc-hbase-server.txt unit https://builds.apache.org/job/PreCommit-HBASE-Build/7788/artifact/patchprocess/patch-unit-hbase-server.txt Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/7788/testReport/ modules C: hbase-protocol hbase-common hbase-client hbase-server U: . Console output https://builds.apache.org/job/PreCommit-HBASE-Build/7788/console Powered by Apache Yetus 0.4.0 http://yetus.apache.org This message was automatically generated.
          anoop.hbase Anoop Sam John added a comment -

          Do you know which jira(s) made above BC breaks? Just to make sure that the current changes wont break the original intent of those jiras.

          anoop.hbase Anoop Sam John added a comment - Do you know which jira(s) made above BC breaks? Just to make sure that the current changes wont break the original intent of those jiras.

          anoop.hbase

          Adding back FastLongHistogram is harmless and fixes a disallowed change in minor releases .

          Moving DeleteTracker from one package to another does not change function at all and restores binary compatibility to a coprocessor interface.

          Moving SnapshotDescription back into HBase.proto fixes disallowed changes to the public Admin interface and also fixes compatibility problems with the core CP interfaces.

          I see some noise from precommit. Let me check that.

          It doesn't matter the intent of the JIRAs where the changes were made because the compat breaks are disallowed. This is a release blocker for branch-1.4 and any future 1.x release.

          apurtell Andrew Kyle Purtell added a comment - anoop.hbase Adding back FastLongHistogram is harmless and fixes a disallowed change in minor releases . Moving DeleteTracker from one package to another does not change function at all and restores binary compatibility to a coprocessor interface. Moving SnapshotDescription back into HBase.proto fixes disallowed changes to the public Admin interface and also fixes compatibility problems with the core CP interfaces. I see some noise from precommit. Let me check that. It doesn't matter the intent of the JIRAs where the changes were made because the compat breaks are disallowed. This is a release blocker for branch-1.4 and any future 1.x release.

          Break a cycle with proto definitions by moving TableName into its own proto module and fixing up users

          Haven't seen comment if this is a reasonable way to break the cycle between HBase.proto and AccessControl.proto after moving SnapshotDescription back. Assuming so, let me make sure protobuf allows this kind of change by checking if 1.3 and 1.4 with this change applied can still communicate.

          apurtell Andrew Kyle Purtell added a comment - Break a cycle with proto definitions by moving TableName into its own proto module and fixing up users Haven't seen comment if this is a reasonable way to break the cycle between HBase.proto and AccessControl.proto after moving SnapshotDescription back. Assuming so, let me make sure protobuf allows this kind of change by checking if 1.3 and 1.4 with this change applied can still communicate.

          TestClientScannerRPCTimeout is flaky independent of this change.
          TestRSKilledWhenInitializing is a known flake being tracked by another JIRA.
          All other tests called out in the precommit report pass for me repeatedly 25 of 25 times.

          apurtell Andrew Kyle Purtell added a comment - TestClientScannerRPCTimeout is flaky independent of this change. TestRSKilledWhenInitializing is a known flake being tracked by another JIRA. All other tests called out in the precommit report pass for me repeatedly 25 of 25 times.
          chia7712 Chia-Ping Tsai added a comment -

          TestClientScannerRPCTimeout is traced by HBASE-18415.

          chia7712 Chia-Ping Tsai added a comment - TestClientScannerRPCTimeout is traced by HBASE-18415 .

          PB compat is fine. I set up bidirectional replication from a 1.3.1 cluster to a 1.4.0-SNAPSHOT cluster with this patch applied and used the 1.3.1 binaries to drive a replication scenario with LoadTestTool writing to the 1.4.0-SNAPSHOT cluster with that replicating rows back to the 1.3.1 one. No issues.

          apurtell Andrew Kyle Purtell added a comment - PB compat is fine. I set up bidirectional replication from a 1.3.1 cluster to a 1.4.0-SNAPSHOT cluster with this patch applied and used the 1.3.1 binaries to drive a replication scenario with LoadTestTool writing to the 1.4.0-SNAPSHOT cluster with that replicating rows back to the 1.3.1 one. No issues.
          mdrob Mike Drob added a comment -

          apurtell - would the SnapshotDescription stuff affect later version as well? I don't see it marked as deprecated in current form, so I'm not sure that we can move it until master (3.0) and would need to put it back in branch-2 as well.

          mdrob Mike Drob added a comment - apurtell - would the SnapshotDescription stuff affect later version as well? I don't see it marked as deprecated in current form, so I'm not sure that we can move it until master (3.0) and would need to put it back in branch-2 as well.

          mdrob I have only been looking at this in terms of getting 1.4 out the door. Could do more to provide a path for removal in 2.0. What do you think of this plan?

          • Add back the new SnapshotDescription definition in Snapshot.proto
          • Deprecate but do not remove Admin APIs using HBaseProtos#SnapshotDescription
          • Create a new SnapshotDescription model class and add ProtobufUtil static helpers for translating between the model and its serialization. Insta-deprecated methods returning HBaseProtos#SnapshotDescription. New methods returning SnapshotProtos#SnapshotDescription. SnapshotDescription model class will have constructors that accept both. Constructor accepting HBaseProtos#SnapshotDescription is insta-deprecated.
          • Add new Admin APIs using the SnapshotDescription model class
          • In 1.x: Leave the coprocessor hook definitions as is
          • In 2.x: Replace use of HBaseProtos#SnapshotDescription with SnapshotDescription model class in coprocessor hooks. My feeling is it is uglier to have a bunch of deprecated methods in these interfaces than to make a clean break.
          • The DeleteTracker package move that breaks a CP interface is fine for 2.x. No need to deprecate. Again judging it better to make clean breaks for CP interfaces on the major version than load down the interfaces with deprecated methods.
          apurtell Andrew Kyle Purtell added a comment - mdrob I have only been looking at this in terms of getting 1.4 out the door. Could do more to provide a path for removal in 2.0. What do you think of this plan? Add back the new SnapshotDescription definition in Snapshot.proto Deprecate but do not remove Admin APIs using HBaseProtos#SnapshotDescription Create a new SnapshotDescription model class and add ProtobufUtil static helpers for translating between the model and its serialization. Insta-deprecated methods returning HBaseProtos#SnapshotDescription. New methods returning SnapshotProtos#SnapshotDescription. SnapshotDescription model class will have constructors that accept both. Constructor accepting HBaseProtos#SnapshotDescription is insta-deprecated. Add new Admin APIs using the SnapshotDescription model class In 1.x: Leave the coprocessor hook definitions as is In 2.x: Replace use of HBaseProtos#SnapshotDescription with SnapshotDescription model class in coprocessor hooks. My feeling is it is uglier to have a bunch of deprecated methods in these interfaces than to make a clean break. The DeleteTracker package move that breaks a CP interface is fine for 2.x. No need to deprecate. Again judging it better to make clean breaks for CP interfaces on the major version than load down the interfaces with deprecated methods.
          mdrob Mike Drob added a comment -

          I was hoping for something simpler - can we make

          class HBaseProtos {
            @Deprecated class SnapshotDescription extends SnapshotProtos.SnapshotDescription {
            }
          }
          

          I think that would preserve all of the old users while giving them a clear path forward. I don't know if there's more nuance to the proto world, though.

          mdrob Mike Drob added a comment - I was hoping for something simpler - can we make class HBaseProtos { @Deprecated class SnapshotDescription extends SnapshotProtos.SnapshotDescription { } } I think that would preserve all of the old users while giving them a clear path forward. I don't know if there's more nuance to the proto world, though.

          mdrob How would that work? HBaseProtos and SnapshotProtos are generated classes from protobuf definitions.

          apurtell Andrew Kyle Purtell added a comment - mdrob How would that work? HBaseProtos and SnapshotProtos are generated classes from protobuf definitions.
          mdrob Mike Drob added a comment -

          I thought there was an extend keyword, but it looks like that's gone in proto-3. It might not have done what I wanted anyway, though.

          We could patch the generated sources, but that seems like a very fragile idea and liable to cause more problems later.

          Your idea to have multiple implementations might be the best of a bunch of bad options.

          This came up for me because I've got some folks on my side trying to write client code that will work with both branch-1 and branch-2. Happy to test any patches that you put up.

          mdrob Mike Drob added a comment - I thought there was an extend keyword, but it looks like that's gone in proto-3. It might not have done what I wanted anyway, though. We could patch the generated sources, but that seems like a very fragile idea and liable to cause more problems later. Your idea to have multiple implementations might be the best of a bunch of bad options. This came up for me because I've got some folks on my side trying to write client code that will work with both branch-1 and branch-2. Happy to test any patches that you put up.
          anoop.hbase Anoop Sam John added a comment -

          For 2.0 I don't think we have Public client APIs which take PB generated classes as param. I forgot the id, but some old jira that we did, changed this. Ideally we should not expose PB generated classes as params or return types.

          anoop.hbase Anoop Sam John added a comment - For 2.0 I don't think we have Public client APIs which take PB generated classes as param. I forgot the id, but some old jira that we did, changed this. Ideally we should not expose PB generated classes as params or return types.

          Ideally we should not expose PB generated classes as params or return types.

          Totally agree but where we've already done it we need to preserve compat and do proper deprecation to replace.

          apurtell Andrew Kyle Purtell added a comment - Ideally we should not expose PB generated classes as params or return types. Totally agree but where we've already done it we need to preserve compat and do proper deprecation to replace.
          anoop.hbase Anoop Sam John added a comment -

          Yes Andy. For 1.x we have to continue with what we did. What I mean is if u see 2.0 Admin APIs for snapshot, already we changed the PB gen POJOs params to our own
          See eg: snapshot(SnapshotDescription snapshot).
          This was done some time back

          anoop.hbase Anoop Sam John added a comment - Yes Andy. For 1.x we have to continue with what we did. What I mean is if u see 2.0 Admin APIs for snapshot, already we changed the PB gen POJOs params to our own See eg: snapshot(SnapshotDescription snapshot). This was done some time back

          Thanks anoop.hbase. Then I think it would be reasonable for branch-1.4 and up to add exactly the 2.0 admin APIs for snapshot and attach deprecation tags to the others. If there are no objections to this approach I will add this to the current patch on this issue, commit to branch-1.4 and branch-1, and call it a day.

          apurtell Andrew Kyle Purtell added a comment - Thanks anoop.hbase . Then I think it would be reasonable for branch-1.4 and up to add exactly the 2.0 admin APIs for snapshot and attach deprecation tags to the others. If there are no objections to this approach I will add this to the current patch on this issue, commit to branch-1.4 and branch-1, and call it a day.
          anoop.hbase Anoop Sam John added a comment -

          +1 on ur proposal Andy

          anoop.hbase Anoop Sam John added a comment - +1 on ur proposal Andy

          I'm afraid that won't be possible anoop.hbase. The implicated methods in Admin are already tagged as deprecated. I can bring in the Snapshot and SnapshotType POJO classes but can only add some methods to Admin using them. Java doesn't recognize methods with different return types as different methods. I cannot add methods like listSnapshots() returning a different type without either renaming the old method, breaking compat, or changing parameter signature, breaking compat.

          So the current patch as-is is the best we can do and I will commit it tomorrow unless objection.

          apurtell Andrew Kyle Purtell added a comment - I'm afraid that won't be possible anoop.hbase . The implicated methods in Admin are already tagged as deprecated. I can bring in the Snapshot and SnapshotType POJO classes but can only add some methods to Admin using them. Java doesn't recognize methods with different return types as different methods. I cannot add methods like listSnapshots() returning a different type without either renaming the old method, breaking compat, or changing parameter signature, breaking compat. So the current patch as-is is the best we can do and I will commit it tomorrow unless objection.
          apurtell Andrew Kyle Purtell added a comment - - edited

          stack I am trying to update hbase-protocol-shaded for branch-2 and up (see current branch-2 patch on this issue) but -Pcompile-protobuf is not doing what I expect. It deletes everything under hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf . Is there a HOWTO somewhere for updating proto files?

          I needed to move TableName out of HBase.proto to resolve a cycle after repairing incompatible changes introduced into branch-1 and I am thinking this change should be carried forward. However strictly speaking it doesn't have to be carried forward. I've done wire compat tests and protobuf doesn't care in what proto file a message is declared. I could leave this be. If leaving it be, then TableName will move out of HBase.proto in 1.4 and later 1.x and then move back into HBase.proto with 2.0.

          apurtell Andrew Kyle Purtell added a comment - - edited stack I am trying to update hbase-protocol-shaded for branch-2 and up (see current branch-2 patch on this issue) but -Pcompile-protobuf is not doing what I expect. It deletes everything under hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf . Is there a HOWTO somewhere for updating proto files? I needed to move TableName out of HBase.proto to resolve a cycle after repairing incompatible changes introduced into branch-1 and I am thinking this change should be carried forward. However strictly speaking it doesn't have to be carried forward. I've done wire compat tests and protobuf doesn't care in what proto file a message is declared. I could leave this be. If leaving it be, then TableName will move out of HBase.proto in 1.4 and later 1.x and then move back into HBase.proto with 2.0.
          mdrob Mike Drob added a comment -

          apurtell, I've got a lot on my plate right now, would you mind giving me until the end of the week to look? If stack's PB changes would make this too hard and you need to land before that, let me know and I'll look at it after it's in and file follow on issues if I see things.

          mdrob Mike Drob added a comment - apurtell , I've got a lot on my plate right now, would you mind giving me until the end of the week to look? If stack's PB changes would make this too hard and you need to land before that, let me know and I'll look at it after it's in and file follow on issues if I see things.

          mdrob This is blocking me from moving forward to RM the 1.4 release. It can wait until the end of the week, but I'm getting a little antsy.

          For what it's worth I believe it is fine to commit the changes as is to branch-1 and branch-1.4 given there is no surfacing of TableName proto class in any API and protobuf wire compat is fine. (I've tested it.) We can definitely follow up on branch-2 and up. However it's not necessary. The movement of TableName around the proto definitions in branch-1 can stay in the branch-1s.

          apurtell Andrew Kyle Purtell added a comment - mdrob This is blocking me from moving forward to RM the 1.4 release. It can wait until the end of the week, but I'm getting a little antsy. For what it's worth I believe it is fine to commit the changes as is to branch-1 and branch-1.4 given there is no surfacing of TableName proto class in any API and protobuf wire compat is fine. (I've tested it.) We can definitely follow up on branch-2 and up. However it's not necessary. The movement of TableName around the proto definitions in branch-1 can stay in the branch-1s.
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 12m 38s 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 doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
          0 mvndep 1m 24s Maven dependency ordering for branch
          +1 mvninstall 6m 40s branch-2 passed
          +1 compile 0m 50s branch-2 passed
          +1 checkstyle 1m 21s branch-2 passed
          +1 mvneclipse 0m 47s branch-2 passed
          +1 findbugs 2m 23s branch-2 passed
          +1 javadoc 0m 43s branch-2 passed
          0 mvndep 0m 19s Maven dependency ordering for patch
          +1 mvninstall 0m 54s the patch passed
          +1 compile 0m 52s the patch passed
          +1 cc 0m 52s the patch passed
          +1 javac 0m 52s the patch passed
          +1 checkstyle 4m 35s the patch passed
          +1 mvneclipse 0m 31s the patch passed
          -1 whitespace 0m 0s The patch has 55 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
          -1 hadoopcheck 0m 46s The patch causes 16 errors with Hadoop v2.4.0.
          -1 hadoopcheck 1m 30s The patch causes 16 errors with Hadoop v2.4.1.
          -1 hadoopcheck 2m 13s The patch causes 16 errors with Hadoop v2.5.0.
          -1 hadoopcheck 2m 57s The patch causes 16 errors with Hadoop v2.5.1.
          -1 hadoopcheck 3m 41s The patch causes 16 errors with Hadoop v2.5.2.
          +1 hbaseprotoc 0m 57s the patch passed
          +1 findbugs 3m 10s the patch passed
          +1 javadoc 0m 41s the patch passed
          +1 unit 0m 18s hbase-protocol in the patch passed.
          +1 unit 2m 36s hbase-client in the patch passed.
          +1 unit 0m 22s hbase-rsgroup in the patch passed.
          +1 asflicense 0m 22s The patch does not generate ASF License warnings.
          73m 49s



          Subsystem Report/Notes
          Docker Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37
          JIRA Issue HBASE-18431
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12879742/HBASE-18431-branch-2-WIP.patch
          Optional Tests asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile cc hbaseprotoc
          uname Linux 7b92af8ef5e4 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 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 branch-2 / 7bdabed
          Default Java 1.8.0_131
          findbugs v3.1.0-RC3
          whitespace https://builds.apache.org/job/PreCommit-HBASE-Build/7858/artifact/patchprocess/whitespace-eol.txt
          Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/7858/testReport/
          modules C: hbase-protocol hbase-client hbase-rsgroup U: .
          Console output https://builds.apache.org/job/PreCommit-HBASE-Build/7858/console
          Powered by Apache Yetus 0.4.0 http://yetus.apache.org

          This message was automatically generated.

          hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 12m 38s 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 doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. 0 mvndep 1m 24s Maven dependency ordering for branch +1 mvninstall 6m 40s branch-2 passed +1 compile 0m 50s branch-2 passed +1 checkstyle 1m 21s branch-2 passed +1 mvneclipse 0m 47s branch-2 passed +1 findbugs 2m 23s branch-2 passed +1 javadoc 0m 43s branch-2 passed 0 mvndep 0m 19s Maven dependency ordering for patch +1 mvninstall 0m 54s the patch passed +1 compile 0m 52s the patch passed +1 cc 0m 52s the patch passed +1 javac 0m 52s the patch passed +1 checkstyle 4m 35s the patch passed +1 mvneclipse 0m 31s the patch passed -1 whitespace 0m 0s The patch has 55 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply -1 hadoopcheck 0m 46s The patch causes 16 errors with Hadoop v2.4.0. -1 hadoopcheck 1m 30s The patch causes 16 errors with Hadoop v2.4.1. -1 hadoopcheck 2m 13s The patch causes 16 errors with Hadoop v2.5.0. -1 hadoopcheck 2m 57s The patch causes 16 errors with Hadoop v2.5.1. -1 hadoopcheck 3m 41s The patch causes 16 errors with Hadoop v2.5.2. +1 hbaseprotoc 0m 57s the patch passed +1 findbugs 3m 10s the patch passed +1 javadoc 0m 41s the patch passed +1 unit 0m 18s hbase-protocol in the patch passed. +1 unit 2m 36s hbase-client in the patch passed. +1 unit 0m 22s hbase-rsgroup in the patch passed. +1 asflicense 0m 22s The patch does not generate ASF License warnings. 73m 49s Subsystem Report/Notes Docker Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37 JIRA Issue HBASE-18431 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12879742/HBASE-18431-branch-2-WIP.patch Optional Tests asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile cc hbaseprotoc uname Linux 7b92af8ef5e4 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 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 branch-2 / 7bdabed Default Java 1.8.0_131 findbugs v3.1.0-RC3 whitespace https://builds.apache.org/job/PreCommit-HBASE-Build/7858/artifact/patchprocess/whitespace-eol.txt Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/7858/testReport/ modules C: hbase-protocol hbase-client hbase-rsgroup U: . Console output https://builds.apache.org/job/PreCommit-HBASE-Build/7858/console Powered by Apache Yetus 0.4.0 http://yetus.apache.org This message was automatically generated.
          mdrob Mike Drob added a comment -

          sounds good, stabilize branch-1 and then we'll revisit branch-2 next week.

          mdrob Mike Drob added a comment - sounds good, stabilize branch-1 and then we'll revisit branch-2 next week.
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 48s 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 17 new or modified test files.
          0 mvndep 1m 38s Maven dependency ordering for branch
          +1 mvninstall 7m 52s branch-1 passed
          +1 compile 2m 11s branch-1 passed with JDK v1.8.0_131
          +1 compile 1m 58s branch-1 passed with JDK v1.7.0_131
          +1 checkstyle 9m 56s branch-1 passed
          +1 mvneclipse 1m 19s branch-1 passed
          +1 findbugs 6m 37s branch-1 passed
          +1 javadoc 1m 36s branch-1 passed with JDK v1.8.0_131
          +1 javadoc 1m 44s branch-1 passed with JDK v1.7.0_131
          0 mvndep 0m 15s Maven dependency ordering for patch
          +1 mvninstall 2m 21s the patch passed
          +1 compile 2m 2s the patch passed with JDK v1.8.0_131
          +1 cc 2m 2s the patch passed
          +1 javac 2m 2s the patch passed
          +1 compile 2m 6s the patch passed with JDK v1.7.0_131
          +1 cc 2m 6s the patch passed
          +1 javac 2m 6s the patch passed
          +1 checkstyle 10m 2s the patch passed
          +1 mvneclipse 1m 2s the patch passed
          -1 whitespace 0m 0s The patch has 103 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
          +1 xml 0m 1s The patch has no ill-formed XML file.
          +1 hadoopcheck 24m 5s The patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1.
          -1 hbaseprotoc 0m 30s Patch generated 4 new protoc errors in hbase-protocol.
          -1 hbaseprotoc 0m 14s Patch generated 4 new protoc errors in hbase-common.
          -1 hbaseprotoc 0m 14s Patch generated 4 new protoc errors in hbase-client.
          -1 hbaseprotoc 0m 25s Patch generated 4 new protoc errors in hbase-server.
          +1 findbugs 6m 56s the patch passed
          +1 javadoc 1m 25s the patch passed with JDK v1.8.0_131
          +1 javadoc 1m 40s the patch passed with JDK v1.7.0_131
          +1 unit 0m 26s hbase-protocol in the patch passed.
          +1 unit 1m 56s hbase-common in the patch passed.
          +1 unit 2m 9s hbase-client in the patch passed.
          -1 unit 107m 21s hbase-server in the patch failed.
          +1 asflicense 1m 4s The patch does not generate ASF License warnings.
          204m 9s



          Reason Tests
          Failed junit tests hadoop.hbase.regionserver.TestSCVFWithMiniCluster
            hadoop.hbase.master.TestAssignmentListener
            hadoop.hbase.regionserver.TestScannerHeartbeatMessages
            hadoop.hbase.regionserver.TestSplitTransactionOnCluster
            hadoop.hbase.client.TestReplicasClient
            hadoop.hbase.replication.TestSerialReplication
          Timed out junit tests org.apache.hadoop.hbase.security.access.TestCellACLs



          Subsystem Report/Notes
          Docker Client=17.03.0-ce Server=17.03.0-ce Image:yetus/hbase:6f1cc2c
          JIRA Issue HBASE-18431
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12879738/HBASE-18431-branch-1.patch
          Optional Tests asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile xml cc hbaseprotoc
          uname Linux e8fbaadb87d5 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 /testptch/patchprocess/precommit/personality/hbase.sh
          git revision branch-1 / abb9d88
          Default Java 1.7.0_131
          Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_131 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131
          findbugs v3.0.0
          whitespace https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/whitespace-eol.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-protocol.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-common.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-client.txt
          hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-server.txt
          unit https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-unit-hbase-server.txt
          Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/7857/testReport/
          modules C: hbase-protocol hbase-common hbase-client hbase-server U: .
          Console output https://builds.apache.org/job/PreCommit-HBASE-Build/7857/console
          Powered by Apache Yetus 0.4.0 http://yetus.apache.org

          This message was automatically generated.

          hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 0m 48s 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 17 new or modified test files. 0 mvndep 1m 38s Maven dependency ordering for branch +1 mvninstall 7m 52s branch-1 passed +1 compile 2m 11s branch-1 passed with JDK v1.8.0_131 +1 compile 1m 58s branch-1 passed with JDK v1.7.0_131 +1 checkstyle 9m 56s branch-1 passed +1 mvneclipse 1m 19s branch-1 passed +1 findbugs 6m 37s branch-1 passed +1 javadoc 1m 36s branch-1 passed with JDK v1.8.0_131 +1 javadoc 1m 44s branch-1 passed with JDK v1.7.0_131 0 mvndep 0m 15s Maven dependency ordering for patch +1 mvninstall 2m 21s the patch passed +1 compile 2m 2s the patch passed with JDK v1.8.0_131 +1 cc 2m 2s the patch passed +1 javac 2m 2s the patch passed +1 compile 2m 6s the patch passed with JDK v1.7.0_131 +1 cc 2m 6s the patch passed +1 javac 2m 6s the patch passed +1 checkstyle 10m 2s the patch passed +1 mvneclipse 1m 2s the patch passed -1 whitespace 0m 0s The patch has 103 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply +1 xml 0m 1s The patch has no ill-formed XML file. +1 hadoopcheck 24m 5s The patch does not cause any errors with Hadoop 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. -1 hbaseprotoc 0m 30s Patch generated 4 new protoc errors in hbase-protocol. -1 hbaseprotoc 0m 14s Patch generated 4 new protoc errors in hbase-common. -1 hbaseprotoc 0m 14s Patch generated 4 new protoc errors in hbase-client. -1 hbaseprotoc 0m 25s Patch generated 4 new protoc errors in hbase-server. +1 findbugs 6m 56s the patch passed +1 javadoc 1m 25s the patch passed with JDK v1.8.0_131 +1 javadoc 1m 40s the patch passed with JDK v1.7.0_131 +1 unit 0m 26s hbase-protocol in the patch passed. +1 unit 1m 56s hbase-common in the patch passed. +1 unit 2m 9s hbase-client in the patch passed. -1 unit 107m 21s hbase-server in the patch failed. +1 asflicense 1m 4s The patch does not generate ASF License warnings. 204m 9s Reason Tests Failed junit tests hadoop.hbase.regionserver.TestSCVFWithMiniCluster   hadoop.hbase.master.TestAssignmentListener   hadoop.hbase.regionserver.TestScannerHeartbeatMessages   hadoop.hbase.regionserver.TestSplitTransactionOnCluster   hadoop.hbase.client.TestReplicasClient   hadoop.hbase.replication.TestSerialReplication Timed out junit tests org.apache.hadoop.hbase.security.access.TestCellACLs Subsystem Report/Notes Docker Client=17.03.0-ce Server=17.03.0-ce Image:yetus/hbase:6f1cc2c JIRA Issue HBASE-18431 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12879738/HBASE-18431-branch-1.patch Optional Tests asflicense javac javadoc unit findbugs hadoopcheck hbaseanti checkstyle compile xml cc hbaseprotoc uname Linux e8fbaadb87d5 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 /testptch/patchprocess/precommit/personality/hbase.sh git revision branch-1 / abb9d88 Default Java 1.7.0_131 Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_131 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131 findbugs v3.0.0 whitespace https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/whitespace-eol.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-protocol.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-common.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-client.txt hbaseprotoc https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-hbaseprotoc-hbase-server.txt unit https://builds.apache.org/job/PreCommit-HBASE-Build/7857/artifact/patchprocess/patch-unit-hbase-server.txt Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/7857/testReport/ modules C: hbase-protocol hbase-common hbase-client hbase-server U: . Console output https://builds.apache.org/job/PreCommit-HBASE-Build/7857/console Powered by Apache Yetus 0.4.0 http://yetus.apache.org This message was automatically generated.
          stack Michael Stack added a comment -

          apurtell Hey. Yeah, when you run the -Pcompile-protobuf, it does a bunch of ugly hackery. If it fails for whatever reason, yeah, you are left in an odd state (e.g. stuff is removed... its supposed to be then repopulated....). Running w/ a -X for debug output will usually tell you what is broke in protos. I just tried your patch though and it seems to work for me sir.

          $ mvn -version
          Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
          Maven home: /usr/local/Cellar/maven/3.3.9/libexec
          Java version: 1.8.0_101, vendor: Oracle Corporation
          Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre
          Default locale: en_US, platform encoding: UTF-8
          OS name: "mac os x", version: "10.12.4", arch: "x86_64", family: "mac"

          stack Michael Stack added a comment - apurtell Hey. Yeah, when you run the -Pcompile-protobuf, it does a bunch of ugly hackery. If it fails for whatever reason, yeah, you are left in an odd state (e.g. stuff is removed... its supposed to be then repopulated....). Running w/ a -X for debug output will usually tell you what is broke in protos. I just tried your patch though and it seems to work for me sir. $ mvn -version Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00) Maven home: /usr/local/Cellar/maven/3.3.9/libexec Java version: 1.8.0_101, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.12.4", arch: "x86_64", family: "mac"

          Test failures not related to patch.

          apurtell Andrew Kyle Purtell added a comment - Test failures not related to patch.

          stack Is the v2 patch good enough? I didn't change anything in shaded protobuf, just in hbase-protocol.

          It seems fine if we don't forward port the move TableName out from HBase.proto from branch-1 to branch-2. We can just contain this hack to the branch-1s?

          apurtell Andrew Kyle Purtell added a comment - stack Is the v2 patch good enough? I didn't change anything in shaded protobuf, just in hbase-protocol. It seems fine if we don't forward port the move TableName out from HBase.proto from branch-1 to branch-2. We can just contain this hack to the branch-1s?

          I plan to commit the branch-1 patch to branch-1 and branch-1.4 tomorrow and then resolve this. Let me know if you have any concerns or objections. We can follow up for branch-2 (if desired) on another issue.

          apurtell Andrew Kyle Purtell added a comment - I plan to commit the branch-1 patch to branch-1 and branch-1.4 tomorrow and then resolve this. Let me know if you have any concerns or objections. We can follow up for branch-2 (if desired) on another issue.

          I need another day to look at some compilation problems with Phoenix. So far they look like things our compat policy allows for: private annotated types (shouldn't have used it), and added methods in interfaces. I haven't finished enumerating the errors yet.

          apurtell Andrew Kyle Purtell added a comment - I need another day to look at some compilation problems with Phoenix. So far they look like things our compat policy allows for: private annotated types (shouldn't have used it), and added methods in interfaces. I haven't finished enumerating the errors yet.

          Pushed to branch-1.4 and branch-1

          apurtell Andrew Kyle Purtell added a comment - Pushed to branch-1.4 and branch-1
          hudson Hudson added a comment -

          FAILURE: Integrated in Jenkins build HBase-1.4 #863 (See https://builds.apache.org/job/HBase-1.4/863/)
          HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev ea5789a7f2953c4cbfa6ce29132e882186d81799)

          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
          • (add) hbase-protocol/src/main/protobuf/Table.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java
          • (edit) hbase-protocol/src/main/protobuf/MasterProcedure.proto
          • (edit) hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SnapshotProtos.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotException.java
          • (add) hbase-common/src/main/java/org/apache/hadoop/hbase/util/FastLongHistogram.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DropDeletesCompactionScanQueryMatcher.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanDeleteTracker.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
          • (add) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DeleteTracker.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/NormalUserScanQueryMatcher.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProcedureProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/LegacyScanQueryMatcher.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/CloneSnapshotHandler.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotExistsException.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDoesNotExistException.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/CorruptedSnapshotException.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotReferenceUtil.java
          • (edit) hbase-protocol/src/main/protobuf/ZooKeeper.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
          • (edit) hbase-protocol/pom.xml
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV1.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java
          • (edit) hbase-protocol/src/main/protobuf/WAL.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AccessControlProtos.java
          • (delete) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.java
          • (edit) hbase-protocol/src/main/protobuf/SecureBulkLoad.proto
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
          • (add) hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFastLongHistogram.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotDescriptionUtils.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
          • (edit) hbase-protocol/src/main/protobuf/Master.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/CompactionScanQueryMatcher.java
          • (edit) hbase-protocol/src/main/protobuf/Snapshot.proto
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
          • (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshotsStats.jsp
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java
          • (add) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/TableProtos.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java
          • (edit) hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV2.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreFlushSnapshotFromClient.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRegionSnapshotTask.java
          • (edit) hbase-protocol/src/main/protobuf/AccessControl.proto
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotCreationException.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MajorCompactionScanQueryMatcher.java
          • (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/SnapshotSentinel.java
          • (edit) hbase-protocol/src/main/protobuf/HBase.proto
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SecureBulkLoadProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java
          hudson Hudson added a comment - FAILURE: Integrated in Jenkins build HBase-1.4 #863 (See https://builds.apache.org/job/HBase-1.4/863/ ) HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev ea5789a7f2953c4cbfa6ce29132e882186d81799) (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java (add) hbase-protocol/src/main/protobuf/Table.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java (edit) hbase-protocol/src/main/protobuf/MasterProcedure.proto (edit) hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SnapshotProtos.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotException.java (add) hbase-common/src/main/java/org/apache/hadoop/hbase/util/FastLongHistogram.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DropDeletesCompactionScanQueryMatcher.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanDeleteTracker.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java (add) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DeleteTracker.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/NormalUserScanQueryMatcher.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProcedureProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/LegacyScanQueryMatcher.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/CloneSnapshotHandler.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotExistsException.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDoesNotExistException.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/CorruptedSnapshotException.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotReferenceUtil.java (edit) hbase-protocol/src/main/protobuf/ZooKeeper.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (edit) hbase-protocol/pom.xml (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV1.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java (edit) hbase-protocol/src/main/protobuf/WAL.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AccessControlProtos.java (delete) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.java (edit) hbase-protocol/src/main/protobuf/SecureBulkLoad.proto (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java (add) hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFastLongHistogram.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotDescriptionUtils.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java (edit) hbase-protocol/src/main/protobuf/Master.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/CompactionScanQueryMatcher.java (edit) hbase-protocol/src/main/protobuf/Snapshot.proto (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshotsStats.jsp (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java (add) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/TableProtos.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java (edit) hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV2.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreFlushSnapshotFromClient.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRegionSnapshotTask.java (edit) hbase-protocol/src/main/protobuf/AccessControl.proto (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotCreationException.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MajorCompactionScanQueryMatcher.java (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/SnapshotSentinel.java (edit) hbase-protocol/src/main/protobuf/HBase.proto (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SecureBulkLoadProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java
          hudson Hudson added a comment -

          FAILURE: Integrated in Jenkins build HBase-1.5 #10 (See https://builds.apache.org/job/HBase-1.5/10/)
          HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev 3feb87b0054d23d8452b4fa557e9400781c3440d)

          • (add) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DeleteTracker.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotReferenceUtil.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SnapshotProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/NormalUserScanQueryMatcher.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanDeleteTracker.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
          • (add) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/TableProtos.java
          • (edit) hbase-protocol/src/main/protobuf/Master.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotCreationException.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java
          • (edit) hbase-protocol/src/main/protobuf/ZooKeeper.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DropDeletesCompactionScanQueryMatcher.java
          • (add) hbase-protocol/src/main/protobuf/Table.proto
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDoesNotExistException.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/CompactionScanQueryMatcher.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java
          • (add) hbase-common/src/main/java/org/apache/hadoop/hbase/util/FastLongHistogram.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/SnapshotSentinel.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProcedureProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRegionSnapshotTask.java
          • (add) hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFastLongHistogram.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AccessControlProtos.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.java
          • (edit) hbase-protocol/src/main/protobuf/HBase.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV1.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV2.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
          • (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshotsStats.jsp
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreFlushSnapshotFromClient.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/LegacyScanQueryMatcher.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
          • (edit) hbase-protocol/src/main/protobuf/WAL.proto
          • (edit) hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SecureBulkLoadProtos.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java
          • (edit) hbase-protocol/src/main/protobuf/AccessControl.proto
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/CorruptedSnapshotException.java
          • (edit) hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotDescriptionUtils.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MajorCompactionScanQueryMatcher.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.java
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
          • (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp
          • (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java
          • (delete) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/CloneSnapshotHandler.java
          • (edit) hbase-protocol/pom.xml
          • (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java
          • (edit) hbase-protocol/src/main/protobuf/SecureBulkLoad.proto
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotExistsException.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java
          • (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotException.java
          • (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.java
          • (edit) hbase-protocol/src/main/protobuf/MasterProcedure.proto
          • (edit) hbase-protocol/src/main/protobuf/Snapshot.proto
          hudson Hudson added a comment - FAILURE: Integrated in Jenkins build HBase-1.5 #10 (See https://builds.apache.org/job/HBase-1.5/10/ ) HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev 3feb87b0054d23d8452b4fa557e9400781c3440d) (add) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DeleteTracker.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotReferenceUtil.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SnapshotProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/NormalUserScanQueryMatcher.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanDeleteTracker.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java (add) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/TableProtos.java (edit) hbase-protocol/src/main/protobuf/Master.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotCreationException.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java (edit) hbase-protocol/src/main/protobuf/ZooKeeper.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DropDeletesCompactionScanQueryMatcher.java (add) hbase-protocol/src/main/protobuf/Table.proto (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDoesNotExistException.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/CompactionScanQueryMatcher.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifest.java (add) hbase-common/src/main/java/org/apache/hadoop/hbase/util/FastLongHistogram.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/SnapshotSentinel.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProcedureProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRegionSnapshotTask.java (add) hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFastLongHistogram.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AccessControlProtos.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.java (edit) hbase-protocol/src/main/protobuf/HBase.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV1.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotManifestV2.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshotsStats.jsp (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreFlushSnapshotFromClient.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/LegacyScanQueryMatcher.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java (edit) hbase-protocol/src/main/protobuf/WAL.proto (edit) hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/SecureBulkLoadProtos.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java (edit) hbase-protocol/src/main/protobuf/AccessControl.proto (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/CorruptedSnapshotException.java (edit) hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestSnapshotDescriptionUtils.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MajorCompactionScanQueryMatcher.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.java (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java (delete) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/CloneSnapshotHandler.java (edit) hbase-protocol/pom.xml (edit) hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java (edit) hbase-protocol/src/main/protobuf/SecureBulkLoad.proto (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotExistsException.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotException.java (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.java (edit) hbase-protocol/src/main/protobuf/MasterProcedure.proto (edit) hbase-protocol/src/main/protobuf/Snapshot.proto
          liyu Yu Li added a comment -

          apurtell Mind share the compatibility report after patch here if you got one at hand sir? Thanks.

          liyu Yu Li added a comment - apurtell Mind share the compatibility report after patch here if you got one at hand sir? Thanks.
          hudson Hudson added a comment -

          FAILURE: Integrated in Jenkins build HBase-1.5 #13 (See https://builds.apache.org/job/HBase-1.5/13/)
          Amend HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev 6a1a97422ccdc1a6b9aeadda9a2eaf89ac548870)

          • (edit) hbase-shell/src/main/ruby/hbase/admin.rb
          hudson Hudson added a comment - FAILURE: Integrated in Jenkins build HBase-1.5 #13 (See https://builds.apache.org/job/HBase-1.5/13/ ) Amend HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev 6a1a97422ccdc1a6b9aeadda9a2eaf89ac548870) (edit) hbase-shell/src/main/ruby/hbase/admin.rb
          hudson Hudson added a comment -

          FAILURE: Integrated in Jenkins build HBase-1.4 #866 (See https://builds.apache.org/job/HBase-1.4/866/)
          Amend HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev ee87edd89049cd215b7df91a4a0b98941a47ba63)

          • (edit) hbase-shell/src/main/ruby/hbase/admin.rb
          hudson Hudson added a comment - FAILURE: Integrated in Jenkins build HBase-1.4 #866 (See https://builds.apache.org/job/HBase-1.4/866/ ) Amend HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (apurtell: rev ee87edd89049cd215b7df91a4a0b98941a47ba63) (edit) hbase-shell/src/main/ruby/hbase/admin.rb
          mdrob Mike Drob added a comment -

          apurtell - mind writing up a release note for this, or did we manage to back out all the compat changes?

          mdrob Mike Drob added a comment - apurtell - mind writing up a release note for this, or did we manage to back out all the compat changes?

          mdrob Do you want a release note for the compat issues I fixed (would only confuse IMHO because they're no more) or the ones left around? For the latter, whenever I do a release I include a compatibility report with the binaries, so all relevant information will be there.

          apurtell Andrew Kyle Purtell added a comment - mdrob Do you want a release note for the compat issues I fixed (would only confuse IMHO because they're no more) or the ones left around? For the latter, whenever I do a release I include a compatibility report with the binaries, so all relevant information will be there.
          mdrob Mike Drob added a comment -

          Just the ones left around. Is the compatibility report that you produce basically the output of running whichever tool you like (Java API CC looks like in this case?) or does it include migration notes for folks?

          mdrob Mike Drob added a comment - Just the ones left around. Is the compatibility report that you produce basically the output of running whichever tool you like (Java API CC looks like in this case?) or does it include migration notes for folks?

          Is the compatibility report that you produce basically the output of running whichever tool you like (Java API CC looks like in this case

          Yes, the report HTML file produced by the Java API CC.

          or does it include migration notes for folks?

          If I thought user migration would be necessary, the changes wouldn't be allowed. For this issue I only admitted changes to Private interfaces, or LimitedPrivate(COPROC) interfaces without any known downstream user.

          apurtell Andrew Kyle Purtell added a comment - Is the compatibility report that you produce basically the output of running whichever tool you like (Java API CC looks like in this case Yes, the report HTML file produced by the Java API CC. or does it include migration notes for folks? If I thought user migration would be necessary, the changes wouldn't be allowed. For this issue I only admitted changes to Private interfaces, or LimitedPrivate(COPROC) interfaces without any known downstream user.
          stack Michael Stack added a comment -

          I see this in branch-2.0:

          commit 5e21e30682147a45c50ff7067ed40d21bb52239d
          Author: Andrew Purtell <apurtell@apache.org>
          Date: Mon Jul 31 16:12:02 2017 -0700

          HBASE-18431 Mitigate compatibility concerns between branch-1.3 and branch-1.4

          We needed to move TableName out of HBase.proto to resolve a cycle after
          repairing incompatible changes introduced into branch-1. Carry this forward.

          stack Michael Stack added a comment - I see this in branch-2.0: commit 5e21e30682147a45c50ff7067ed40d21bb52239d Author: Andrew Purtell <apurtell@apache.org> Date: Mon Jul 31 16:12:02 2017 -0700 HBASE-18431 Mitigate compatibility concerns between branch-1.3 and branch-1.4 We needed to move TableName out of HBase.proto to resolve a cycle after repairing incompatible changes introduced into branch-1. Carry this forward.

          People

            apurtell Andrew Kyle Purtell
            apurtell Andrew Kyle Purtell
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: