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 BC465200BD4 for ; Wed, 16 Nov 2016 07:41:00 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id B9808160B08; Wed, 16 Nov 2016 06:41:00 +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 0BFE8160B13 for ; Wed, 16 Nov 2016 07:40:59 +0100 (CET) Received: (qmail 7494 invoked by uid 500); 16 Nov 2016 06:40:59 -0000 Mailing-List: contact dev-help@kylin.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@kylin.apache.org Delivered-To: mailing list dev@kylin.apache.org Received: (qmail 7131 invoked by uid 99); 16 Nov 2016 06:40:58 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Nov 2016 06:40:58 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id C6A142C4C75 for ; Wed, 16 Nov 2016 06:40:58 +0000 (UTC) Date: Wed, 16 Nov 2016 06:40:58 +0000 (UTC) From: "hongbin ma (JIRA)" To: dev@kylin.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (KYLIN-2198) Add a framework to allow major changes in DimensionEncoding MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 16 Nov 2016 06:41:00 -0000 hongbin ma created KYLIN-2198: --------------------------------- Summary: Add a framework to allow major changes in DimensionEncoding Key: KYLIN-2198 URL: https://issues.apache.org/jira/browse/KYLIN-2198 Project: Kylin Issue Type: Improvement Reporter: hongbin ma Assignee: hongbin ma Recently a fatal error is found in one of the DimensionEncoding called IntegerDimEnc(KYLIN-2191). The bug fix will cause cube content differs after applying the bug fix. Such result will confuse users. Since major changes on DimensionEncoding is always possible, either due to optimization purpose or bug fix purpose. A framework that takes into consideration of "DimensionEncoding version" is necessary. By default all DimensionEncoding has version number 1. Whenever a major change is applied on a DimensionEncoding subclass (for example IntegerDimEnc), instead of applying the change directly on the DimensionEncoding subclass (for example IntegerDimEnc), we fork a new subclass of DimensionEncoding (for example IntegerDimEncV2), which increases the original class's version number. The "encode name" remains same(for example "integer") After a DimensionEncoding with newer version is published in a new Kylin release, legacy cubes can still use the older DimensionEncoding. However they have take the risky of using the old DimensionEncoding. The web GUI will only prompt users with the latest version of DimensionEncodings. For legacy cubes, a label of "deprecated" will be shown for out-dated DimensionEncodings. -- This message was sent by Atlassian JIRA (v6.3.4#6332)