Re: [netconf] restconf collections

Robert Varga <nite@hq.sk> Tue, 29 September 2020 23:05 UTC

Return-Path: <nite@hq.sk>
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 5ADD03A139E for <netconf@ietfa.amsl.com>; Tue, 29 Sep 2020 16:05:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.312
X-Spam-Level:
X-Spam-Status: No, score=-2.312 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.213, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=hq.sk
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 DBLxh2LOBBb1 for <netconf@ietfa.amsl.com>; Tue, 29 Sep 2020 16:05:40 -0700 (PDT)
Received: from mail.hq.sk (hq.sk [81.89.59.181]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F0FD53A1399 for <netconf@ietf.org>; Tue, 29 Sep 2020 16:05:38 -0700 (PDT)
Received: from nitebug.nitenet.local (chello085216197060.chello.sk [85.216.197.60]) by mail.hq.sk (Postfix) with ESMTPSA id 5A82524704A; Wed, 30 Sep 2020 01:05:35 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hq.sk; s=mail; t=1601420735; bh=yWE8DJ/Ky7456xtE5yLzsKAmnMLYPEub/HFMnmcKlnU=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=UjnmZKVXvJjIjhz7Ihq+teMHF7ZyP11jIAZOtqyNfmyz6pteygafaPytjOAItaLUT XojBd7LwaWnpUt7fy36mdiQloXvIbUj0h0V9W4tO84QNcHiLCafisGk4k7ZQ4teFy1 CXjsXguVS9yYmxaYr56kCnK0wYWm2S1AmnHGuPPo=
To: Kent Watsen <kent+ietf@watsen.net>, Andy Bierman <andy@yumaworks.com>
Cc: "netconf@ietf.org" <netconf@ietf.org>
References: <B8F9A780D330094D99AF023C5877DABAADA1006E@dggeml511-mbs.china.huawei.com> <01000174cb6ea9ee-d7716c10-a691-4a97-9e99-022e4c0ef55a-000000@email.amazonses.com> <CABCOCHRzK8658NuwH4rBrmUg-T1KFWA0nZ2RJf_Kd9Q0TFka0g@mail.gmail.com> <01000174cbc7532c-81a16bed-e752-4e61-9a97-dfc95be744b5-000000@email.amazonses.com>
From: Robert Varga <nite@hq.sk>
Message-ID: <03b851c0-f45b-05c5-a861-0c49724cb5f2@hq.sk>
Date: Wed, 30 Sep 2020 01:05:29 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0
MIME-Version: 1.0
In-Reply-To: <01000174cbc7532c-81a16bed-e752-4e61-9a97-dfc95be744b5-000000@email.amazonses.com>
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="cCmP3nquiBsZeIdZSx68PYAbXv1Ws9AR5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/QiRi5jRY3lCtCFx8GaSb_HObnWc>
Subject: Re: [netconf] restconf collections
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG 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: Tue, 29 Sep 2020 23:05:43 -0000

On 26/09/2020 20:57, Kent Watsen wrote:
>> There are 3 completely different approaches:
>>
>>   1) stateless
>>   2) stateful
>>   3) stateful snapshot
>>
>> How to efficiently iterate through data that is changing constantly?
>> This problem is harder than it looks.
> 
> Agreed.  I recommend we NOT try to solve that problem.

Unfortunately you do need to pick an interaction model to tie together
the first and second pagination requests. At the very least you need to
specify consistency guarantees between the two -- which gives them worms
juuust enough room to wiggle out of the can.

A fair answer is 'well, they are not tied together and if the datastore
moves, you are SOL' ... but then how do you make forward progress with
enough consistency to be useful in the real world? :)

At the end of the day, you will end up creating some state on the
server, which the server will need to be free to revoke at any time (due
to resource constraints, or whatever implementation-specific reasons).

Regards,
Robert