Re: [Netconf] In an update, when is a delete a delete?
Andy Bierman <andy@yumaworks.com> Thu, 18 May 2017 16:35 UTC
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3AEEC12420B for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 09:35:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4wfzJYcMSGmO for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 09:35:15 -0700 (PDT)
Received: from mail-wm0-x22a.google.com (mail-wm0-x22a.google.com [IPv6:2a00:1450:400c:c09::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BCD3712949A for <netconf@ietf.org>; Thu, 18 May 2017 09:29:37 -0700 (PDT)
Received: by mail-wm0-x22a.google.com with SMTP id 70so52783439wmq.1 for <netconf@ietf.org>; Thu, 18 May 2017 09:29:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=MCORifo80eZ2mrejptKKDMV1blNKO50I35We3yvYoF0=; b=AVlkT0739l7r2wJCdkMzkV8oQkR+jV6GUTkCmgJHXn5e5Fpzhx4mk6P1ua7v7z/AIk jfEl7kvhmeRN5bpWBlCMfh6nizjw6WM1etERje5HVcpLC+HlchbZZ6xrpnPYOCL1crm7 t6R/thiM0BbL0952raiVQD+FNj2lQwsuFMVaq3FEmj5pakOObWLR/Uqthqp5KnJPDvcp VAZBDDZModin6iNv4KfTuZK+5JkLeYKauyNjsjr8LRsNj4fhO4228Cwcz7tES8lVVZnG VZL4Pc3NA/HY2dZn+PE33YFHuTgpxicV0d+Gped4BTkLEWpv/xXou1w0FotfdvS57qfQ bb5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=MCORifo80eZ2mrejptKKDMV1blNKO50I35We3yvYoF0=; b=SxYF8qQXCCaNQZYsmj81QJu1ogHPkpK6pVdVAl7tv/zdggUtOjC3LObTt/8a0j0Glq laLi//ghExfUUn/bBtV/tEbjRBVa6BxEQybKBYG8gkIBA1/90CU2+QOuYNSFJr7UD96j tdc4YVbmqfrsoklZ4YVR5jYoqUby8p7M6UCTkJwlqwvSCSUuiBLksqagr/8N2UfDYNIp FAL2c1xmOHRAfMs6iieuDJXXmcEiu1jJdTQ4IfOr89ASA2XI/AkNEX+5ZMWEsxp9r7iR iw6N9C05A7eK4aBppuBunB6QCJgsXG/xB6AJ5OyUBqCMe8wJBD804c1XfJqwwMzrWtlU 6Kdg==
X-Gm-Message-State: AODbwcCpRu03rTVOZOMI2v+zS8/KcadkUcvATY78UIX/qd7a3EyRgMSS 2BZU85NkeChwoZM04kgZqCzDVGPCd+0k
X-Received: by 10.28.138.73 with SMTP id m70mr13766146wmd.99.1495124976309; Thu, 18 May 2017 09:29:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 18 May 2017 09:29:35 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 18 May 2017 09:29:35 -0700
Message-ID: <CABCOCHSrZAPbF6VNF1R2-6+CPeQOi51U9KOcSXu_P0_5nbit2A@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a114449361bb07b054fcee940"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/rmKpDfvOFqHZUBfQ64qb1VmmkRI>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 16:35:19 -0000
Hi, I wonder why we really need the client to choose to subscribe to "micro-events". It makes sense to me for subscriptions to instance data using keys and static leafs like if:type. Subscribing to "foo=5" does not seem that useful for replicating state or anything else. YANG Push should not include RMON Alarms & Events type of functionality. The trick to good standards writing is to support the use-cases in a way that does not introduce massive implementation complexity for functionality outside those use-cases. So I would pick (3) and add a warning about avoiding filters for volatile data nodes such as counters. Andy On Wed, May 17, 2017 at 2:29 PM, Alexander Clemm <alexander.clemm@huawei.com > wrote: > Hello all, > > > > In updating the YANG-Push document (draft-ietf-netconf-yang-push), we > have come across one issue that we wanted to raise with the working group. > > > > As part of an on-change subscription, update records reflect the type of > change (e.g. whether the value of an object has changed, or whether an > object was created or deleted); a subscription allows also to specify > whether interested only in specific types of changes (for example, only > creates and deleted but no value changes). > > > > At the same time, a subscription filter specifies which objects to include > as part of a subscription and which not. (Really, it is not so much of a > “filter” on a stream that is generated independently of the filter, than it > is a policy of which objects to include as part of subscribed update > records.) However, a subscription filter (such as XPath) can be used to > also specify a value filter, which will include or exclude objects based on > their current value. This makes it possible to e.g. subscribe to an object > “foo” but only if its value is 5. > > > > Now, this means that the same object could be included in one update, but > excluded in another update, due to its value no longer meeting the filter > criteria. For example, if foo’s value changes from 5 to 3 in one cycle, a > periodic subscription will no longer include foo in its next update. The > question now concerns how to properly handle this in the case of an > on-change subscription. > > > > One possibility concerns reporting the fact that “foo” no longer meets the > subscription criteria and is no longer included in the update record as a > “delete” event. If foo’s value again becomes “5” at a later point in time, > that would be reported as a “create” event. If foo’s value changes again > from 5 at a later point in time and then changes back to 3 before the time > of the update (perhaps because the value changed during the dampening > interval), it would be reported as another “delete” event (without ever > reporting a create event). On the other hand, if foo’s value changed from > 3 to 6 and back again, nothing would be reported because it did not meet > the filter criteria at any point in time. > > > > From the perspective of the receiver this may make sense if it is synching > its copy of the state. However, from the perspective of the publisher, the > object was never created or deleted – only its value changed, and the case > when the object was truly created or deleted can no longer be distinguished > from the case when its value changed. A “create” simply means “an object > now meets a filter criteria, that was not reported in the previous cycle” > (which does not mean that the object was actually created – it may have > been created, or it may have simply undergone a value change). > > > > An alternative (let’s call it alternative 2) is therefore to make a > distinction between whether an object was created or deleted, or whether > its value fell in or out of a filter range. This appears semantically > cleaner. However, it will require modifying the encoding to allow for > distinction between those cases (currently, just plain patch encoding is > used). > > > > A third alternative is to let filters select only data nodes to subscribe > to, and separate out the value filter (or disallow it as a feature > altogether). This alternative has the drawback of being less conceptually > powerful, even if it may be easier to implement. > > > > Thoughts? Any preferences between 1, 2, and 3? > > --- Alex > > > > > _______________________________________________ > Netconf mailing list > Netconf@ietf.org > https://www.ietf.org/mailman/listinfo/netconf > >
- [Netconf] In an update, when is a delete a delete? Alexander Clemm
- Re: [Netconf] In an update, when is a delete a de… Igor Bryskin
- Re: [Netconf] In an update, when is a delete a de… Randy Presuhn
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Kent Watsen
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Alexander Clemm
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Alexander Clemm
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Alexander Clemm
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Juergen Schoenwaelder
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Juergen Schoenwaelder
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Juergen Schoenwaelder
- Re: [Netconf] In an update, when is a delete a de… Alexander Clemm
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Alexander Clemm
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Alexander Clemm
- Re: [Netconf] In an update, when is a delete a de… Andy Bierman
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Robert Wilton
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Martin Bjorklund
- Re: [Netconf] In an update, when is a delete a de… Eric Voit (evoit)
- Re: [Netconf] In an update, when is a delete a de… Alexander Clemm