Skip to main content

Telechat Review of draft-ietf-alto-new-transport-16
review-ietf-alto-new-transport-16-intdir-telechat-halley-2023-10-19-00

Request Review of draft-ietf-alto-new-transport
Requested revision No specific revision (document currently at 22)
Type Telechat Review
Team Internet Area Directorate (intdir)
Deadline 2023-10-23
Requested 2023-10-18
Requested by Éric Vyncke
Authors Kai Gao , Roland Schott , Y. Richard Yang , Lauren Delwiche , Lachlan Keller
I-D last updated 2023-10-19
Completed reviews Httpdir Last Call review of -14 by Martin Thomson (diff)
Secdir Last Call review of -15 by Donald E. Eastlake 3rd (diff)
Genart Last Call review of -15 by Linda Dunbar (diff)
Iotdir Telechat review of -17 by Wesley Eddy (diff)
Intdir Telechat review of -16 by Bob Halley (diff)
Artart Early review of -01 by Spencer Dawkins (diff)
Secdir Early review of -07 by Donald E. Eastlake 3rd (diff)
Opsdir Early review of -07 by Sheng Jiang (diff)
Rtgdir Early review of -07 by Russ White (diff)
Tsvart Early review of -07 by Dr. Bernard D. Aboba (diff)
Artart Early review of -07 by Spencer Dawkins (diff)
Httpdir Early review of -07 by Martin Thomson (diff)
Comments
Sorry for the late notice, but this draft has been put on the agenda last
night. A quick browse through it, looking from a global Internet view would
be perfect. 
Thanks 

-éric
Assignment Reviewer Bob Halley
State Completed
Request Telechat review on draft-ietf-alto-new-transport by Internet Area Directorate Assigned
Posted at https://mailarchive.ietf.org/arch/msg/int-dir/zzU5ppFP0VFCwqJh0qapNUvwVT8
Reviewed revision 16 (document currently at 22)
Result Not ready
Completed 2023-10-19
review-ietf-alto-new-transport-16-intdir-telechat-halley-2023-10-19-00
I am an assigned INT directorate reviewer for draft-ietf-alto-new-transport.
These comments were written primarily for the benefit of the Internet Area
Directors. Document editors and shepherd(s) should treat these comments just
like they would treat comments from any other IETF contributors and resolve
them along with any other Last Call comments that have been received. For more
details on the INT Directorate, see
https://datatracker.ietf.org/group/intdir/about/
<https://datatracker.ietf.org/group/intdir/about/>.

Based on my review, if I was on the IESG I would ballot this document as
DISCUSS.

While I don't know much about ALTO, I have worked extensively with
sequence-number-based versioning systems with both snapshots and incremental
updates.

I have the following DISCUSS/ABSTAIN level issues:

I think the basic design is sound; my problem is really with the way the
document is written.  Some sections are repetitive, some are well-specified,
and others seem to be examples with explanatory (but also normative) text.  The
example-type sections felt fuzzy and underspecified.  For example, if I do

  GET /tips/2718281828459/ug/102/105

in a case where there is no "optional" incremental update edge from 102 to 105,
i.e. I have to get 102->103, 103->104, and 104->105 individually, then it is
not clear to me what happens.  Do I get 404?  I think this document would be
very frustrating for prospective implementers.

An architectural worry is that I didn't see any notion of a "generation id" or
"database id" or other unique name for the whole version history.  Generally
speaking there is always a possibility of the replacement/regeneration of the
entire database due to a catastrophic server failure or operator error.  As
part of the recovery, new content is loaded and the prior version history is
invalidated.  Ideally a client connecting would realize this and start from 0
again, as opposed to asking from incremental changes from a history that
doesn't exist any more.  The issue is that the sequence number spaces of the
two histories might overlap, and thus the client might be given a nonsensical
diff that would not apply instead of learning it needs to resync from scratch. 
In some cases, this can lead to subtle and hard-to-detect content divergence.

Dependencies between different versioned objects, as discussed in 8.3, is
understandable but also seems to undercut simple long pulling of individual
URIs.  I'm not objecting to the dependencies themselves, as this is
unavoidable.  I wonder if this might have been addressed in some other way that
was less burdensome to clients, e.g. some sort of "versioned set of versions",
though I grant this is not an easy problem.  It just felt late to hear about it
in section 8.3 when the rest of the text seems to be encouraging me to long
pull without other concerns.

On the nit level, I found the use of "prefetch" as a synonym for "long pull"
confusing, as for me "prefetching" is a speculative caching term.  There is no
speculation or caching going on here, we're just trying to do a "push" style of
pubsub via "long polling" instead of repetitive polling or another form of push
notification.