Hi Eric,
plase find my comments below.
Il 22/09/2020 15:45, Eric Vyncke (evyncke) ha scritto:
Mario
It seems that I forgot to press SEND on this one ;-)
First thank you for your reply
Look for EV> below (I have removed a couple of parts where we are all
in agreement)
-éric
Hi Eric,
thanks a lot for your review. Please find my comments inline.
Il 18/09/2020 15:02, Éric Vyncke via Datatracker ha scritto:
> Éric Vyncke has entered the following ballot position for
> -- Section 2.2 --
> I am concerned that a server having to compute "totalCount" (even if
only to
> return the first 10 entries) may spend a lot of time computing this
number in
> the absence of index... The security section does not offer a
definitive answer
> to this issue IMHO. E.g., I would prefer to allow the server to
refuse to serve
> "totalCount" until the last page (and even).
[ML] The count operator is optional so a server can support it or not.
Moreover, it's reasonable to expect that an RDAP server will rely on
some db indexes to efficiently perform searches no matter if it supports
counting or not.
EV> While I fully understand the use of totalCount (as explained
below), the server should be able to refuse to serve this totalCount
in the case of non-existing index. There are also indexes that are not
really useful to count: e.g., in SQL ‘col LIKE “%foo%” will require a
parsing of all rows.
[ML] Absolutely but, in general, if the server allows the selection of a
result set, it can allow results count as well. Regarding your example,
servers are obviously not recommended to support a wildcard prefixed
search pattern no matter if the count operator is requested. Conversely,
if a server support this kind of search, it can allow counting because,
in any case, a SQL select count takes much less time than a SQL select.
The purpose of the count operator is just to enable users to immediately
know the size of the result set and, consequently, evaluate if the
result set is worthy to be scanned. Sometimes, the number of results is
itself considered a relevant information.
Lastly, there's no need to count the total number of results through a
query at each possible result set page because, in general, it doesn't
change. Therefore, when an initial query includes the count operator two
strategies can be implemented:
- the server includes the totalCount value in the first page and doesn't
include the count operator in the possible pagination links so the
totalCount value is not displayed in the following pages;
- the server includes the totalCount value in the first page, encode it
in the cursor value and include the count operator in the possible
pagination links so that the totalCount value is passed from page to
page and always displayed.
In both cases, only one counting query is processed.
> -- Section 2.3 --
>
> I am concerned that a server having to sort on client-side selection of
> properties may have a huge performance impact in the absence of
relevant DB
> indexes.The security section does not offer a definitive answer to
this issue
> IMHO.
[ML] A server is not required to implement all and only the sorting
properties reported in the document. Obviously, an RDAP server is
expected to support only those sorting properties which are mapped onto
db indexed fields.
EV> I am afraid that while I was reading of the document, I failed to
spot this specific list of properties as the bare minimum and having
the possibility for the server to refuse to serve a filtering based on
some properties.
[ML] The sorting properties included in the document are those which
are more likely to be supported. They are listed in the document just to
improve the interoperability between clients and servers. They are not
required and, most probably, they aren't the only ones.
>
> == NITS ==
>
> -- Section 2.2 --
> Should the URI be
> "https://example.com/rdap/domains?name=*example.com&count=true" (also
> applicable to section 2.3)
>
[ML] I'm not sure to catch your comment. count and sort are two optional
query parameters which can be used together or separately.
EV> simply to use the documentation/examples domains both in the host
and in the query 😉
[ML] Undestood. I'll uniform the queries. Moreover, to make the examples
more realistic, I'll change all the prefixed wildcard patterns into
suffixed wildcard patterns.
Best,
Mario
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext
--
Dr. Mario Loffredo
Systems and Technological Development Unit
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Mobile: +39.3462122240
Web: http://www.iit.cnr.it/mario.loffredo
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext