Intent to Extend experiment: fetch() upload streaming

121 views
Skip to first unread message

Yoichi Osato

unread,
May 11, 2021, 1:59:08 AMMay 11
to blink-dev

Contact emails

yoi...@chromium.org

Explainer


https://bit.ly/2SVvKbR

Specification

https://fetch.spec.whatwg.org/#concept-body-stream

Design docs


http://bit.ly/3asqra2

Summary

Fetch upload streaming lets web developers make a fetch with a ReadableStream body. Fetch provides a generic definition of Request and Response objects (and other things involved with network requests).



Blink component

Blink>Network>FetchAPI

TAG review

https://github.com/w3ctag/design-reviews/issues/434

TAG review status

Pending

Risks



Interoperability and Compatibility

TBD



Gecko: Positive Positive in TPAC 2019 [1]. Yoichio will ask their standard-position officially.

WebKit: Positive Positive in TPAC 2019 [1]. [1] https://docs.google.com/document/d/1q090ovJ4gd8wSfVtvuoZLMZ51YkiFDsEZ0Jiqi41Iys/edit#heading=h.85gziabhajhg Yoichio will ask their standard-position officially.

Web developers: Positive (https://groups.google.com/a/chromium.org/g/blink-network-dev/c/bsVgOxNCzFchttps://groups.google.com/a/chromium.org/g/blink-network-dev/c/bsVgOxNCzFc


Goals for experimentation

We need an origin trial to verify web-compatibility, specifically that we can do chunked uploads over HTTP/1.1 without breaking middleboxes with trial API AllowHTTP1ForStreamingUpload (the additional API design is on-going). That trial and the rough API idea were suggested at https://github.com/whatwg/fetch/issues/966#issuecomment-588065153. Experiment Goals: Measure how far each HTTP protocol (1.0 or earlier, 1.1 and 2.0 or later) work to upload streaming.



Experimental timeline

- M85 (Aug 25, 2020): Experiment begins

- M92 (Jul 20, 2021): Original experiment end date

- M95 (Oct 19, 2021): Extended experiment end date



Reason this experiment is being extended

Because we don't have enough data. The partner gRPC once released update library including 3P trial but it was reverted due to huge breaks. We're planning to reland that within 2021 Q2.



Ongoing technical constraints

None.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No

Is this feature fully tested by web-platform-tests?

No

Flag name

None

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=688906

Link to entry on the Chrome Platform Status

https://www.chromestatus.com/feature/5274139738767360

Links to previous Intent discussions

Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/l7QI1bsq80Y/m/Z1TJ0nplAQAJ


This intent message was generated by Chrome Platform Status.

Alex Russell

unread,
May 13, 2021, 6:22:44 PMMay 13
to blink-dev, Yoichi Osato
Hey Osato-san,

The API OWNERS discussed today and have a few concerns relating to the overall length of this trial (1+ year is very long). Some questions:
  • Has there been no change to the API since the initial Experiment began? If there is a change proposed, would now be a good time to make it?
  • What, if anything, was learned from the trial that has been running to date? Are you able to report on it?
  • Are there other partners that can help you validate middle-box compatibility?
  • Would you be willing to report back on middle-box compatibility as soon as you have data, and potentially close a trial early if we get data sooner than 95?

Thanks

Yoichi Osato

unread,
May 14, 2021, 1:48:15 AMMay 14
to Alex Russell, blink-dev
I'll have a planning mtg with the google internal customer who originally has been participating in this trial.
Will be back after that.

Thanks.

2021年5月14日(金) 7:22 Alex Russell <sligh...@chromium.org>:

Yoichi Osato

unread,
May 17, 2021, 8:54:25 PMMay 17
to blink-dev, Alex Russell
> Has there been no change to the API since the initial Experiment began?
No.

> Are there other partners that can help you validate middle-box compatibility?
No other partners.
  
> What, if anything, was learned from the trial that has been running to date? Are you able to report on it?
> Would you be willing to report back on middle-box compatibility as soon as you have data, and potentially close a trial early if we get data sooner than 95?
Sure.

I had a discussion with a google customer of a js library.
They said they really wanted this feature over HTTP/1 and know if it works over various networks.
Because we need to experiment with this feature on many google sites, enabling metrics code on them is a challenge: there are so many validators and our code was already roll-backed 3 times.
We already know the reason for the 3rd fault and are preparing the next patch.

Thanks.

2021年5月14日(金) 14:47 Yoichi Osato <yoi...@chromium.org>:

Yoichi Osato

unread,
May 18, 2021, 1:23:16 AMMay 18
to blink-dev, Alex Russell
I have UMA statistics with Net.Fetch.UploadStreamingProtocolXXX for this trial.
  • Averagely about 15k usage per day.
  • Almost no one is using the AllowHTTP1 flag in the wild. That's why we need the customer's help.
  • Looking at NotAllowH1 usage, 90% is called over QUIC, 10% over HTTP/2 and HTTP/1 is almost zero. (FYI, we're gathering this data before rejecting H/1 call with the flag)



2021年5月18日(火) 9:54 Yoichi Osato <yoi...@chromium.org>:

Alex Russell

unread,
May 19, 2021, 3:26:12 PMMay 19
to Yoichi Osato, blink-dev
Thanks for getting back to us with data! Appreciated.

Thanks also for confirming that you're OK to cut the trial short if you get the data you need. I think that answers most of my questions, but will check with the other OWNERs tomorrow to see how we feel.

Yoichi Osato

unread,
May 27, 2021, 1:05:32 AMMay 27
to Alex Russell, blink-dev
Hi, Alex.
What was the decision? 

2021年5月20日(木) 4:26 Alex Russell <sligh...@chromium.org>:

Chris Harrelson

unread,
May 27, 2021, 12:17:39 PMMay 27
to Yoichi Osato, Alex Russell, blink-dev
LGTM

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAEV3pmhsX2F6_teZOCjktZm89PLKysorzmnAW5Ds8mEHXaASw%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages