Re: [netconf] restconf collections

Martin Björklund <> Thu, 01 October 2020 13:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4893C3A104E for <>; Thu, 1 Oct 2020 06:23:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.101
X-Spam-Status: No, score=-0.101 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, PDS_NAKED_TO_NUMERO=1.997, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key) header.b=WqFLY7yf; dkim=pass (2048-bit key) header.b=MQUDpctK
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id QokHJz5bou6c for <>; Thu, 1 Oct 2020 06:23:40 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id DC1E03A104D for <>; Thu, 1 Oct 2020 06:23:40 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal []) by mailout.west.internal (Postfix) with ESMTP id 108AC1286; Thu, 1 Oct 2020 09:23:39 -0400 (EDT)
Received: from mailfrontend2 ([]) by compute4.internal (MEProxy); Thu, 01 Oct 2020 09:23:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h=date :message-id:to:cc:subject:from:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=fm2; bh= /K7O/wIYaM62Cuf8kmoP6mi0EIciUstv6l2gQLTv7yc=; b=WqFLY7yf0prnezri /R0XSIy5iDj9eAN3sks2VdAXyh6iPi9Mx5cw4qEBTnJJDuzl0C4qjuvoXbFRdEZl PGmsktwNdTsAcW4igOH2HiMLXcIpU0CiuVnWHxE4SAEYw7cqoC09LQ93Uizf5WpH YX+b4R0I4kykBpApNjIssbFmO8aq7gIX3tHhnv1uzo/0fMTzjEmCEPBJ6XjRjSL5 mCic/8L9nkvllJHQaIlkuVIAp7XhFMJHNOriwOAHxZtTPbn1hu5M5TSBhi3uZZg/ i19Ugtubx+chPqvQPEdzVWE2k8L43cDa7pl9LRgY4CN2lhj0YQfWI1bG1ok0/7sd 2JLkUQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=/K7O/wIYaM62Cuf8kmoP6mi0EIciUstv6l2gQLTv7 yc=; b=MQUDpctKXeFVOMt6GBXT7CQEDhg7rdoQUp7jrwIysBoVSB0mT9aZ7mx2c NFB7dhjuOozB01YkTXiewoshQVhPX2fSK7ekTLuGF4S86jl1rYdddltRWS5r9iL4 LyUBHIgO6mXBXz2lKSs3IP4C4JoYr/bqAJWJ7a0q9Q2qqNEAVWsW97hMLSjEPjoX PUGEBGD+TfyafhQ0V7QXoJt/1ERKTsJ9NgAvcUCCn9C84BCeuiBJ1co9+xuq0Bvd 7UvYYPoDZ+o8Kv+4Y+7lBYqDdaHID2KQplmGXiDzoyigM6BjHK/FisKlakuuzF9P 4ifswLF/NaQDgM/+MIHGiUvoVghTg==
X-ME-Sender: <xms:Wdh1Xypa1fNEz4GyA7t3MWz4Lt-l1zIcIO8sGVigTBmFw-9nnylFcA> <xme:Wdh1Xwo8h1PqkZS2HM-pcgyczySPHUm_BDs6mZ6mg7rCUYpnrShM3-_itBNrJDmsn IplLjBV8iHbUMlKsNQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrfeeggdeihecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepfffkvffuhfgjfhfogggtgfesthgsre dtredtjeenucfhrhhomhepofgrrhhtihhnuceujhpnrhhklhhunhguuceomhgsjhdoihgv thhfseegieeikedrshgvqeenucggtffrrghtthgvrhhnpeehteegtdffgfegffekvdejke evleetuedutddtfffhlefgtedvveehvdeguedtudenucfkphepudehkedrudejgedrgedr vdduheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmsghjodhivghtfhesgeeiieekrdhsvg
X-ME-Proxy: <xmx:Wdh1X3PkHQ043a07zpDtIcXlHMVY0ESiykWqEBtIjGfv7omtJV-7yA> <xmx:Wdh1Xx4D4QkPFpkYbEJCtJ4kYfMTjkOBh8ioqu66pzwFcEWmlZM28A> <xmx:Wdh1Xx4Mh30Iq7EHyzvXCLdg88KhLfY9hGdzG4XLlRak-DmDSkg-7g> <xmx:Wth1XzQUnjdQS5hK8O7u5RajYFZLQyKs_GUpOyRTylVzV6ApyEpjKg>
Received: from localhost (unknown []) by (Postfix) with ESMTPA id C1BF53064674; Thu, 1 Oct 2020 09:23:36 -0400 (EDT)
Date: Thu, 01 Oct 2020 15:23:35 +0200
Message-Id: <>
From: Martin Björklund <>
In-Reply-To: <>
References: <> <>
X-Mailer: Mew version 6.8 on Emacs 26.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <>
Subject: Re: [netconf] restconf collections
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 01 Oct 2020 13:23:42 -0000

Kent Watsen <> wrote:
> Hi Qin,
> > Some opstate must be persisted, e.g., long-lived counters, logs, etc.,
> > but it’s a good point about other opstate not being persisted.
> > Perhaps “node-tags” can be used here, to differentiate which is
> > which…and servers can indicate if/how they support the ephemeral
> > opstate leafs in queries?
> > 
> > [Qin]:That's a good case for node tag, in earlier discussion, we
> > discussed operation type, which distinguishs cumulative statistics
> > value from current value. The case discussed here is very close to
> > operation type proposal discussed earlier.
> Yes.  Thank you for pointing that out.  I meant to make the same
> observation before.  Indeed, such node-tags could have dual-purpose:
> to guide a streaming-strategy and a querying-strategy for certain
> nodes.
> > Note sure how others feel about “direction: (c), but my primary
> > use-case revolves around time-series data (e.g., logs), where the
> > interest is commonly on the most-recent entries, so
> > "reverse-->offset—>limit” works nicely.
> > 
> > Perhaps an alternative would be to lift a concept from Python with
> > negative indexes so, for instance, offset=-N and limit=-N gives the
> > last N entries?
> > [Qin]: Yes, that's what I thought as well, with negative indexes, (b)
> > and (c) seems to me, can be combined.
> Can others comment on this?

Isn't this just another syntax for the same function?


> Presumably, we could eliminate “direction” (c) with this approach.  
> Without “direction”, I think that UIs can still support the ability to
> do column-sorts, whereby the user clicks on a column’s header to
> toggle ascending vs. descending presentation, but they’ll have to do
> it client-side.
> That is, if wanting to see the 2nd page of results sorted by a column,
> something like:
> 	sort(column-name) --> offset(-2*pagesize) --> limit(pagesize)
> Followed by the client then flipping the results to present the
> results in the user-selected order, right?
> That said, given that DB-backends that support sorts commonly also
> support direction, it's unclear what this buys us.
> >>> Sure, but I wonder if, e.g., a netmask filter, is supportable by 
> >>> common DB-backends.  I’m hoping we have some DB-experts on the list!
> >> 
> >> See above.  It can be quite efficient even if the backend doesn't 
> >> support it.
> > 
> > I don’t see that above, but I don’t doubt that it can be so, it’s just
> > a whole lot of implementation complexity.  It seems that we
> > should/must support servers doing it, we just need to find a way
> > (node-tags?) to enable them to express that ability.
> > [Qin]: My feeling is this efficiency more depends on the amount of
> > data we need to request. If amount of data we request is huge, maybe,
> > client-> server-> backend may be the better choice.
> Is it the amount of data requested or the number of entries in the
> list?  At least, in my worldview, clients are always requesting a
> “page” of data, so that part is rather consistently small.
> If the intention is to get a complete dump, then maybe the comment
> from yesterday applies, whereby streaming to an external repository
> that can be queried offline makes more sense?  - especially
> considering that the number of on-box logs is likely to be only the
> most recent (e.g., days), whereas the complete-dump type queries
> likely wish to extend well-past that.
> K.