Return-Path: X-Original-To: apmail-asterixdb-dev-archive@minotaur.apache.org Delivered-To: apmail-asterixdb-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 591CB187D7 for ; Mon, 14 Dec 2015 21:20:05 +0000 (UTC) Received: (qmail 5744 invoked by uid 500); 14 Dec 2015 21:20:05 -0000 Delivered-To: apmail-asterixdb-dev-archive@asterixdb.apache.org Received: (qmail 5678 invoked by uid 500); 14 Dec 2015 21:20:05 -0000 Mailing-List: contact dev-help@asterixdb.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.incubator.apache.org Delivered-To: mailing list dev@asterixdb.incubator.apache.org Received: (qmail 5657 invoked by uid 99); 14 Dec 2015 21:20:04 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Dec 2015 21:20: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 88147C1C3A for ; Mon, 14 Dec 2015 21:20:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.9 X-Spam-Level: ** X-Spam-Status: No, score=2.9 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id znPCKc19v7IS for ; Mon, 14 Dec 2015 21:19:51 +0000 (UTC) Received: from mail-pf0-f181.google.com (mail-pf0-f181.google.com [209.85.192.181]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id 5C7FA25724 for ; Mon, 14 Dec 2015 21:19:50 +0000 (UTC) Received: by pff63 with SMTP id 63so17598889pff.2 for ; Mon, 14 Dec 2015 13:19:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type; bh=J0/AksrmRRLTipXXuqu28dsbXyARilwjsjXO1jeq5p4=; b=1KWeGP8T2zVXo+X5gxTezLF5cSDeCLHaD4reCBE4VCddJkpgyRDkonWomvwDpcmr3A v8F/OTSoAOdK1RbPzg3iUZlgkqd+pCNu6bToHYDNFKihU4kOumAT6u3lkqo8nHO+obi2 cBDLdwWaIKHN/Xl3npRvwC6gGRFhsJ6YM+DX+utcuq0yLRINEVlwanpAW46LPfAZ5ADD G6I9j23BoyaCqQyKinl3cJmScMRwXFSysR3RrDDgbZyY7us5/kFga8WUEqsW3I8laln9 OmuCq9lE/X2lWvBOqp+yXDMsr8oUXyqvw1zjp715eQgAmcDrtfrYgzRcNt5gni6tOsZL qwRg== X-Received: by 10.98.65.135 with SMTP id g7mr39394250pfd.141.1450127988853; Mon, 14 Dec 2015 13:19:48 -0800 (PST) Received: from dhcp-v001-045.mobile.uci.edu (dhcp-v001-045.mobile.uci.edu. [169.234.1.45]) by smtp.googlemail.com with ESMTPSA id a5sm18603054pfj.46.2015.12.14.13.19.48 for (version=TLSv1/SSLv3 cipher=OTHER); Mon, 14 Dec 2015 13:19:48 -0800 (PST) Subject: Re: Metadata changes To: dev@asterixdb.incubator.apache.org References: <81DE960F-C90C-4912-87EF-3E3C533EE3D2@gmail.com> <19C5337A-A9D1-4D04-910E-0FE6E477F0A8@apache.org> From: Mike Carey Message-ID: <566F3272.1030801@gmail.com> Date: Mon, 14 Dec 2015 13:19:46 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <19C5337A-A9D1-4D04-910E-0FE6E477F0A8@apache.org> Content-Type: multipart/alternative; boundary="------------070503000109000906080606" --------------070503000109000906080606 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit I think we started out as a bunch of relation-heads, modeling things after the system catalogs found in our favorite RDBMSs. Their record types are open AFAIK - but I think Steven was saying that it feels like this is a use case whose field(s) should be predeclared (and using the term "closed field" to mean predeclared field). I agree. I think to the extent that we can anticipate the need for a given bit of metadata, it's useful to have it be there in the known schema; but, when we move into the era when we cannot make changes to the known schema part of the catalogs, because we have dependent customers who'd be hurt by that, we will start adding more fields that are not predeclared but only documented. The schema for the metadata is really there more as documentation than as being "truly necessary"... When we first started out we were just not thinking in an "open-minded" way on the catalog side of things..... :-) Cheers, Mike On 12/14/15 11:53 AM, Till Westmann wrote: > Let me prefix this with that statement that I haven’t looked into our > metadata storage implementation. > But looking at the relatively frequent changes to the metadata format > it seems that we should either > a) make the types for metadata records open or > b) be very careful in designing the next (and future) revision(s) of it. > I don’t know why the metadata storage was done the way it is now and > what the considerations were when we did that. > > Does anybody remember those (or is there even a document that contains > the design and rationale)? > > Thanks, > Till > > On 14 Dec 2015, at 11:35, Steven Jacobs wrote: > >> It could easily be done as reverse-compatible, but my thinking was that >> this is the "wrong" choice. I can easily make the datatype dataverse an >> open field for the metadata. The question is, why do we have open vs >> closed >> fields for metadata at all? If it is okay for them to be open, should we >> get rid of the schema entirely? if it's not okay, then shouldn't this >> field >> be closed? From a design standpoint it seems that if reverse >> compatibility >> were not an issue than the field should be closed. >> Steven >> >> On Mon, Dec 14, 2015 at 11:30 AM, Ildar Absalyamov < >> ildar.absalyamov@gmail.com> wrote: >> >>> If fix for 2) will break the backwards-compatibility 1) might do >>> that as >>> well and be submitted together. >>> >>> Now 2) was a long overdue problem, I don’t think there is any reason >>> even >>> to try make changes backwards-compatible, because it was broken in the >>> first place. >>> >>>> On Dec 14, 2015, at 11:16, Steven Jacobs wrote: >>>> >>>> It's a new attribute, but it's a closed field, which means it isn't >>>> backwards compatible. >>>> Steven >>>> >>>> On Mon, Dec 14, 2015 at 11:13 AM, Ian Maxon wrote: >>>> >>>>> For 1), I guess the question is whether it would be a backwards >>>>> compatible change. Since it's just a new attribute (right?...), >>>>> and it >>>>> is also sort of a new feature rather than a fix for something that >>>>> was >>>>> critically broken, I would tend toward putting it on master. If it's >>>>> not backwards compatible though maybe it needs more careful >>>>> consideration. >>>>> >>>>> -Ian >>>>> >>>>> On Mon, Dec 14, 2015 at 10:12 AM, Steven Jacobs >>> wrote: >>>>>> Hi all, >>>>>> I'm implementing a change so that datasets can use datatypes from >>>>> alternate >>>>>> data verses (previously the type and set had to be from the same >>>>>> dataverse). Unfortunately this means another change for Dataset >>> Metadata >>>>>> (which will now store the dataverse for its type). >>>>>> >>>>>> As such, I had a couple of questions: >>>>>> >>>>>> 1) Should this change be thrown into the release branch, as it is >>> another >>>>>> Metadata change? >>>>>> >>>>>> 2) In implementing this change, I've been looking at the Metadata >>>>> secondary >>>>>> indexes. I had a discussion with Ildar, and it seems the thread on >>>>> Metadata >>>>>> secondary indexes being "hacked" has been lost. Is this also >>>>>> something >>>>> that >>>>>> should get into the release? Is there anyone currently looking at >>>>>> it? >>>>>> >>>>>> Steven >>>>> >>> >>> Best regards, >>> Ildar >>> >>> --------------070503000109000906080606--