Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B094C200CF3 for ; Wed, 13 Sep 2017 19:21:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id AF6D11609C3; Wed, 13 Sep 2017 17:21:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id CBD4D1609CB for ; Wed, 13 Sep 2017 19:21:05 +0200 (CEST) Received: (qmail 76304 invoked by uid 500); 13 Sep 2017 17:21:04 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 76201 invoked by uid 99); 13 Sep 2017 17:21:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Sep 2017 17:21:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 3E298CA41B for ; Wed, 13 Sep 2017 17:21:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -98.702 X-Spam-Level: X-Spam-Status: No, score=-98.702 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_NUMSUBJECT=0.5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id jdY4IglWzgkx for ; Wed, 13 Sep 2017 17:21:03 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 71BAB5F523 for ; Wed, 13 Sep 2017 17:21:02 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 7CFC9E099A for ; Wed, 13 Sep 2017 17:21:01 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 638E72538B for ; Wed, 13 Sep 2017 17:21:00 +0000 (UTC) Date: Wed, 13 Sep 2017 17:21:00 +0000 (UTC) From: "Mike Drob (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-18431) Mitigate compatibility concerns between branch-1.3 and branch-1.4 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 13 Sep 2017 17:21:06 -0000 [ 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 #1 1.3.1 > Version #2 1.4.0-SNAPSHOT > Subject Binary Compatibility > Compatibility - 89.9% > Added Methods - 305 > Removed Methods - 105 > Problems with Data Types > High - 23 > Medium - 9 > Low - 21 > {noformat} > {noformat} > Library Name HBase > Version #1 1.3.1 > Version #2 1.4.0-SNAPSHOT > Subject Source Compatibility > Compatibility- 86.5% > Added Methods - 305 > Removed Methods - 105 > Problems with Data Types > High - 88 > Medium - 0 > Low - 0 > Other Changes in Data Types - 25 > {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 RegionObserver.postInstantiateDeleteTracker ( ObserverContext, DeleteTracker ) has been removed from RegionObserver. > The LimitedPrivate(COPROC) interface Store has method signature changes equating to removed methods. The changes are debatable. I am thinking we can allow them. Anyone implementing their own Stores? > \\ > * Abstract method Store.bulkLoadHFile ( String, long ) has been removed from Store. > * Abstract method Store.getScanners ( List, boolean, boolean, boolean, boolean, ScanQueryMatcher, byte[ ], byte[ ], long, boolean ) has been removed from Store. > * Abstract method Store.getScanners ( boolean, boolean, boolean, boolean, ScanQueryMatcher, byte[ ], byte[ ], long ) has been removed from Store. > * Abstract method Store.upsert ( Iterable, long ) has been removed from Store. -- This message was sent by Atlassian JIRA (v6.4.14#64029)