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 44734200B9D for ; Thu, 13 Oct 2016 21:15:08 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 3FC8E160AE4; Thu, 13 Oct 2016 19:15:08 +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 5CE5D160AD2 for ; Thu, 13 Oct 2016 21:15:07 +0200 (CEST) Received: (qmail 9765 invoked by uid 500); 13 Oct 2016 19:15:06 -0000 Mailing-List: contact dev-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list dev@asterixdb.apache.org Received: (qmail 9753 invoked by uid 99); 13 Oct 2016 19:15:06 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Oct 2016 19:15:06 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id C4976C0C5C for ; Thu, 13 Oct 2016 19:15:05 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.879 X-Spam-Level: * X-Spam-Status: No, score=1.879 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id wFnR33x3SK-8 for ; Thu, 13 Oct 2016 19:15:04 +0000 (UTC) Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id E03125FCEF for ; Thu, 13 Oct 2016 19:15:03 +0000 (UTC) Received: by mail-pa0-f41.google.com with SMTP id ry6so40900479pac.3 for ; Thu, 13 Oct 2016 12:15:03 -0700 (PDT) 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; bh=hRi+s0WwjGHJurxlUZnuYF8C31IB3uZohJJ+iZcnOAo=; b=QSI9JCZ0AopPaQDNRZdXevQwTgEEwUR+wqxmPnumC8t60f/RNO6xsfitYeDLWlpd++ 3aOqUhW5FFDwarbVNVTWbw4MaOQtQxFv6ox4I3YgkydJ+Rw9TUvLzwmyB0OC8/J+ZzC0 V5mjGh2hX9KxCUVAUazaSDqDZLkbIBMbBSJJYC27fUP8C6QWR07wmMjbplRmb3U/D/Mk VB1sZ2z3E5PDApAuNANOyQv2gUTmvzjCSO8uE6K6s8z8tfqjMqGpse1qp/BH4Qygy73z FY1g1KgpXAbCS1iC+SjtzFlQtyBsGbNGqioK/Ji5s0mKxzgrqbnstG6kvixY9gDYAyrU hnWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to; bh=hRi+s0WwjGHJurxlUZnuYF8C31IB3uZohJJ+iZcnOAo=; b=cdR5bsF2eCsA15URmZG/bFS0buHGfK1OL1TEunQ0jf0JNFqcPiJq6rj0hCHCEtSwX0 tPFgkxgSF77JixzMpb73gNsE5moqzQoOYoOGdmpplJ3DTCNTnVLE/q4jl5Hiu39YCWv5 zpS6Rc/dF8pP6Cfi0rnKKCrPuDvEvvq9O+QzbDWHDHss3adL+u3PlPfITfYCZm3E80Ko +k1KofdFXhWTBSJLc3iHIelm79xUcb7e+TD3viArtrPEzFUEp6FdHhL3XOTCHE9jUsgV wBCn+5E6tVHjTo+MbVUv3+6xuzHZVa0o4fpWjeB1GjTA1Ei2fHbDcBX1ha02He7vsAMO 2iBw== X-Gm-Message-State: AA6/9Rkjn9AhHhcvdTwIMXp6UK2y/UDnvwwJXvk7qeKgyOB0xpiYeIUSTm3vNmP5K6gmeg== X-Received: by 10.66.159.200 with SMTP id xe8mr10304808pab.21.1476386096674; Thu, 13 Oct 2016 12:14:56 -0700 (PDT) Received: from dhcp-053160.ics.uci.edu (dhcp-053160.ics.uci.edu. [128.195.53.160]) by smtp.googlemail.com with ESMTPSA id dj3sm10807172pad.1.2016.10.13.12.14.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Oct 2016 12:14:56 -0700 (PDT) Subject: Re: Metadata Dependencies To: dev@asterixdb.apache.org References: <5a9a1868-fe17-7c04-a236-db5f4f8112ac@gmail.com> From: Mike Carey Message-ID: Date: Thu, 13 Oct 2016 12:14:57 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------76D3F89AA15628E205CB9C11" archived-at: Thu, 13 Oct 2016 19:15:08 -0000 --------------76D3F89AA15628E205CB9C11 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Do we absolutely need that fine level of granularity? (Maybe a few examples would help.) On 10/13/16 11:40 AM, Steven Jacobs wrote: > I lean towards B as well. The interesting question is how to succinctly > store the dependency field information in this catalog, i.e. I have these > fields which correspond to the primary key fields of this other metadata > dataset. > Steven > > On Wednesday, October 12, 2016, Mike Carey wrote: > >> Got it. IMO option B) is probably "better" in the sense that it seems >> "safer" and "more transparent". With A) not much might be known about why >> those catalog entries are there, assuming a generic notion of "entity", and >> there's always the potential for a buggy extension to forget to delete a >> dependency and therefore force the non-deletion of a given dataverse. With >> B) you know what the issue is - the supposed existence of a metadata >> dataset - and you have the possible recourse of verifying the existence of >> such a dataset. (E.g., if a buggy extension drops its dataset but forgets >> to update this registry, you can at least discover manually that the >> dataset is already gone.) Maybe not a big deal, but.... >> >> >> On 10/12/16 3:11 PM, Steven Jacobs wrote: >> >>> Yes, "catalog" would be the better word here. Thanks for the >>> clarification. >>> >>> Steven >>> >>> On Wed, Oct 12, 2016 at 12:38 PM, Mike Carey wrote: >>> >>> I assume that by "index" you really mean "catalog" (as opposed to index in >>>> the physical sense)? I.e., your two proposals are about a possible >>>> additional metadata dataset in support of extension dependency >>>> management? >>>> >>>> >>>> On 10/12/16 9:47 AM, Steven Jacobs wrote: >>>> >>>> Hi, >>>>> I am trying to get feedback from the group in general about how best to >>>>> add >>>>> Metadata Dependencies, particularly in the context of extensions. The >>>>> functionality that is needed is as follows: >>>>> >>>>> *When dropping a metadata entity A (e.g. a dataverse), first check >>>>> whether >>>>> A has any metadata entities that depend on it. Then allow these entities >>>>> two options:* >>>>> >>>>> *1) block: don't drop A while this dependent entity exists* >>>>> *2) chain: when dropping A, drop this dependent entity as well.* >>>>> >>>>> One issue to keep in mind here is that with extensions, Asterix will not >>>>> currently know about metadata datasets added by extensions. >>>>> >>>>> So far we have two proposals for this issue: >>>>> >>>>> A) Metadata dependency index. When you create an entity that depends on >>>>> another, add an entry to this index. Check this index when dropping an >>>>> entity. >>>>> >>>>> B) Metadata data set index. All Metadata datasets would be registered in >>>>> this index, and then we can query them as needed when dropping an >>>>> entity. >>>>> In this case we would need some way to specify which fields in these >>>>> datasets represent dependencies in order to query them properly. >>>>> >>>>> We would like any feedback on these two solutions or proposals for >>>>> alternate solutions. >>>>> >>>>> Steven >>>>> >>>>> >>>>> --------------76D3F89AA15628E205CB9C11--