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 D025C200D58 for ; Sun, 17 Dec 2017 11:33:04 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id CE661160C28; Sun, 17 Dec 2017 10:33:04 +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 1ECC4160BFF for ; Sun, 17 Dec 2017 11:33:03 +0100 (CET) Received: (qmail 19061 invoked by uid 500); 17 Dec 2017 10:33:02 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 19050 invoked by uid 99); 17 Dec 2017 10:33:02 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 17 Dec 2017 10:33:02 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 756A51A04EC for ; Sun, 17 Dec 2017 10:33:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_NONE=-0.0001, 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 (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id qwOKB_d40GvC for ; Sun, 17 Dec 2017 10:33:01 +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 1A7CC5F297 for ; Sun, 17 Dec 2017 10:33:01 +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 54EC0E01A8 for ; Sun, 17 Dec 2017 10:33:00 +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 0B265240DA for ; Sun, 17 Dec 2017 10:33:00 +0000 (UTC) Date: Sun, 17 Dec 2017 10:33:00 +0000 (UTC) From: "Chia-Ping Tsai (JIRA)" To: dev@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (HBASE-19535) Introduce a new annotation to say there is no BC guarantee in the inheritance MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Sun, 17 Dec 2017 10:33:05 -0000 Chia-Ping Tsai created HBASE-19535: -------------------------------------- Summary: Introduce a new annotation to say there is no BC guarantee in the inheritance Key: HBASE-19535 URL: https://issues.apache.org/jira/browse/HBASE-19535 Project: HBase Issue Type: Task Reporter: Chia-Ping Tsai Priority: Critical Fix For: 2.0.0 We have added many Public "read-only" interface in 2.0 to save user from the dangerous operations. For example, TableDescriptor, ColumnFamilyDescriptor, Region, Store, etc. However, this change make us be hard to enhance these interface (ie. add the new APIs) because the BC will be broken for the user having the subclass of these interfaces. In contrast with Cell, Filter, and coprocessor, these new interfaces are NOT designed to be a extendable class for user but we have no explicit caveat. As I see it, it is necessary to introduce an new annotation to explicitly say "you CAN extend this Public class with the BC guarantee". On the other hand, user should not extend the Public classes which don't have the such annotation. -- This message was sent by Atlassian JIRA (v6.4.14#64029)