[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2018-04-05 Thread stack (JIRA)

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

stack commented on HBASE-18431:
---

I see this in branch-2.0:

commit 5e21e30682147a45c50ff7067ed40d21bb52239d
Author: Andrew Purtell 
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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 2.0.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-09-14 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


bq. 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.

bq. 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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preList

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-09-13 Thread Mike Drob (JIRA)

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

Mike Drob commented on HBASE-18431:
---

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?

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> M

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-09-13 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


[~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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBa

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-09-13 Thread Mike Drob (JIRA)

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

Mike Drob commented on HBASE-18431:
---

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

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.Snapsho

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-16 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18431:


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


> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-16 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18431:


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


> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.S

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-16 Thread Yu Li (JIRA)

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

Yu Li commented on HBASE-18431:
---

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

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, H

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-16 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18431:


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/TestRegionSnapshotT

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-16 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18431:


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)

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-08 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.Snapshot

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-07 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed fro

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-01 Thread Hudson (JIRA)

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

Hudson commented on HBASE-18431:


FAILURE: Integrated in Jenkins build HBase-2.0 #276 (See 
[https://builds.apache.org/job/HBase-2.0/276/])
HBASE-18431 Mitigate compatibility concerns between branch-1.3 and (stack: rev 
5e21e30682147a45c50ff7067ed40d21bb52239d)
* (edit) hbase-protocol/src/main/protobuf/Client.proto
* (edit) hbase-rsgroup/src/main/protobuf/RSGroup.proto
* (edit) 
hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RSGroupProtos.java
* (edit) 
hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupProtobufUtil.java
* (edit) 
hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RSGroupAdminProtos.java
* (edit) hbase-rsgroup/src/main/protobuf/RSGroupAdmin.proto
* (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/HBaseProtos.java
* (add) hbase-protocol/src/main/protobuf/Table.proto
* (edit) 
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
* (edit) hbase-protocol/src/main/protobuf/HBase.proto
* (edit) 
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java
* (edit) hbase-protocol/src/main/protobuf/AccessControl.proto
* (edit) hbase-protocol/src/main/protobuf/ZooKeeper.proto
* (edit) 
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/QuotaProtos.java
* (edit) 
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ClientProtos.java
* (add) 
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/TableProtos.java
* (edit) hbase-protocol/src/main/protobuf/WAL.proto
* (edit) 
hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
* (edit) 
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AccessControlProtos.java


> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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(

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


[~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? 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.Snap

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-08-01 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


Test failures not related to patch.


> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> Mast

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread stack (JIRA)

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

stack commented on HBASE-18431:
---

[~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"



> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> O

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18431:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
48s{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 17 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  1m 
38s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  7m 
52s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m 
11s{color} | {color:green} branch-1 passed with JDK v1.8.0_131 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
58s{color} | {color:green} branch-1 passed with JDK v1.7.0_131 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  9m 
56s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  1m 
19s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  6m 
37s{color} | {color:green} branch-1 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m 
36s{color} | {color:green} branch-1 passed with JDK v1.8.0_131 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m 
44s{color} | {color:green} branch-1 passed with JDK v1.7.0_131 {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
15s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  2m 
21s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m  
2s{color} | {color:green} the patch passed with JDK v1.8.0_131 {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  2m  
2s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  2m  
2s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m  
6s{color} | {color:green} the patch passed with JDK v1.7.0_131 {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  2m  
6s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  2m  
6s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 10m 
 2s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  1m 
 2s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} whitespace {color} | {color:red}  0m  
0s{color} | {color:red} The patch has 103 line(s) that end in whitespace. Use 
git apply --whitespace=fix <>. Refer 
https://git-scm.com/docs/git-apply {color} |
| {color:green}+1{color} | {color:green} xml {color} | {color:green}  0m  
1s{color} | {color:green} The patch has no ill-formed XML file. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
24m  5s{color} | {color:green} 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. {color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
30s{color} | {color:red} Patch generated 4 new protoc errors in hbase-protocol. 
{color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
14s{color} | {color:red} Patch generated 4 new protoc errors in hbase-common. 
{color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
14s{color} | {color:red} Patch generated 4 new protoc errors in hbase-client. 
{color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
25s{color} | {color:red} Patch generated 4 new protoc errors in hbase-server. 
{color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  6m 
56s{color} | {color:green} th

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread Mike Drob (JIRA)

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

Mike Drob commented on HBASE-18431:
---

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

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) h

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18431:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 12m 
38s{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red}  0m  
0s{color} | {color:red} 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. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  1m 
24s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  6m 
40s{color} | {color:green} branch-2 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
50s{color} | {color:green} branch-2 passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
21s{color} | {color:green} branch-2 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
47s{color} | {color:green} branch-2 passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
23s{color} | {color:green} branch-2 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
43s{color} | {color:green} branch-2 passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
19s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
52s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  0m 
52s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
52s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  4m 
35s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
31s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} whitespace {color} | {color:red}  0m  
0s{color} | {color:red} The patch has 55 line(s) that end in whitespace. Use 
git apply --whitespace=fix <>. Refer 
https://git-scm.com/docs/git-apply {color} |
| {color:red}-1{color} | {color:red} hadoopcheck {color} | {color:red}  0m 
46s{color} | {color:red} The patch causes 16 errors with Hadoop v2.4.0. {color} 
|
| {color:red}-1{color} | {color:red} hadoopcheck {color} | {color:red}  1m 
30s{color} | {color:red} The patch causes 16 errors with Hadoop v2.4.1. {color} 
|
| {color:red}-1{color} | {color:red} hadoopcheck {color} | {color:red}  2m 
13s{color} | {color:red} The patch causes 16 errors with Hadoop v2.5.0. {color} 
|
| {color:red}-1{color} | {color:red} hadoopcheck {color} | {color:red}  2m 
57s{color} | {color:red} The patch causes 16 errors with Hadoop v2.5.1. {color} 
|
| {color:red}-1{color} | {color:red} hadoopcheck {color} | {color:red}  3m 
41s{color} | {color:red} The patch causes 16 errors with Hadoop v2.5.2. {color} 
|
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green}  
0m 57s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
10s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
41s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  0m 
18s{color} | {color:green} hbase-protocol in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
36s{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  0m 
22s{color} | {color:green} hbase-rsgroup in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
22s{color} | {color:green} The patch does not generate ASF License wa

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


[~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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been remove

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread Mike Drob (JIRA)

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

Mike Drob commented on HBASE-18431:
---

[~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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProt

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


[~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? 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch, 
> HBASE-18431-branch-1.patch, HBASE-18431-branch-2-WIP.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-31 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-30 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-18431:


+1 on ur proposal Andy

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> Here, maybe DeleteTracker moved packages?
> \\
> * Abstract met

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-30 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.Snapsho

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-28 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-18431:


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

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abst

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-28 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


bq.  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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> Obs

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-27 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-18431:


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.  

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract met

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-27 Thread Mike Drob (JIRA)

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

Mike Drob commented on HBASE-18431:
---

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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


[~mdrob] Sure I can try that. Not sure if the change to the inheritance 
hierarchy is a binary compat problem or not. Will find out shortly. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTable

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-27 Thread Mike Drob (JIRA)

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

Mike Drob commented on HBASE-18431:
---

I was hoping for something simpler - can we make 
{code}
class HBaseProtos {
  @Deprecated class SnapshotDescription extends 
SnapshotProtos.SnapshotDescription {
  }
}
{code}
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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescri

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-27 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


[~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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
>

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-27 Thread Mike Drob (JIRA)

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

Mike Drob commented on HBASE-18431:
---

[~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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method M

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-26 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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.


> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTabl

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-26 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-18431:


TestClientScannerRPCTimeout is traced by HBASE-18415.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> Here, maybe DeleteTracker moved 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-26 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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.


> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-26 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


bq. 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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-26 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


[~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.

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-26 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-18431:


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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
> Attachments: HBASE-18431-branch-1.4.patch
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableD

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-25 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-18431:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
22s{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 17 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  1m 
19s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  6m 
 0s{color} | {color:green} branch-1.4 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
24s{color} | {color:green} branch-1.4 passed with JDK v1.8.0_131 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
30s{color} | {color:green} branch-1.4 passed with JDK v1.7.0_131 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  9m 
22s{color} | {color:green} branch-1.4 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  1m 
 9s{color} | {color:green} branch-1.4 passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  5m 
49s{color} | {color:green} branch-1.4 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m 
10s{color} | {color:green} branch-1.4 passed with JDK v1.8.0_131 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m 
24s{color} | {color:green} branch-1.4 passed with JDK v1.7.0_131 {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
13s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 
47s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
31s{color} | {color:green} the patch passed with JDK v1.8.0_131 {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  1m 
31s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 
31s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
35s{color} | {color:green} the patch passed with JDK v1.7.0_131 {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green}  1m 
35s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 
35s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  9m 
44s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}  0m 
58s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} whitespace {color} | {color:red}  0m  
0s{color} | {color:red} The patch has 103 line(s) that end in whitespace. Use 
git apply --whitespace=fix <>. Refer 
https://git-scm.com/docs/git-apply {color} |
| {color:green}+1{color} | {color:green} xml {color} | {color:green}  0m  
1s{color} | {color:green} The patch has no ill-formed XML file. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
17m 15s{color} | {color:green} 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. {color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
23s{color} | {color:red} Patch generated 4 new protoc errors in hbase-protocol. 
{color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
12s{color} | {color:red} Patch generated 4 new protoc errors in hbase-common. 
{color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
12s{color} | {color:red} Patch generated 4 new protoc errors in hbase-client. 
{color} |
| {color:red}-1{color} | {color:red} hbaseprotoc {color} | {color:red}  0m 
18s{color} | {color:red} Patch generated 4 new protoc errors in hbase-server. 
{color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  6m 
44s{color} | 

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-25 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


> 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. 

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTab

[jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4

2017-07-21 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-18431:


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

> Mitigate compatibility concerns between branch-1.3 and branch-1.4
> -
>
> Key: HBASE-18431
> URL: https://issues.apache.org/jira/browse/HBASE-18431
> Project: HBase
>  Issue Type: Bug
>Reporter: Andrew Purtell
>Priority: Blocker
> Fix For: 1.4.0, 1.5.0
>
>
> There are compatibility concerns with branch-1.4. 
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> {noformat}
> Library Name  HBase
> Version #11.3.1
> Version #21.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
> {noformat}
> 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, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.postRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.postSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preCloneSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preDeleteSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preListSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription ) has been removed from MasterObserver.
> * Abstract method MasterObserver.preRestoreSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> * Abstract method MasterObserver.preSnapshot ( 
> ObserverContext, 
> HBaseProtos.SnapshotDescription, HTableDescriptor ) has been removed from 
> MasterObserver.
> Here, maybe DeleteTracker moved packages?
> \\
> * Abstract method