Subject: [quicwg/base-drafts] Rework GOAWAY text (again) (#2457)

From: Mike Bishop <[email-masked]>
Date: Tue, 12 Feb 2019 14:52:51 -0800

Another attempt to group related concepts in this section which hopefully fixes #2226.

(This is technically design, because previously-required server behavior is now only recommended.)
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/2457

-- Commit Summary --

  * Rework GOAWAY text (again)

-- File Changes --

    M draft-ietf-quic-http.md (24)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2457.patch
https://github.com/quicwg/base-drafts/pull/2457.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457

---

From: Lucas Pardue <[email-masked]>
Date: Tue, 12 Feb 2019 15:02:10 -0800

LPardue commented on this pull request.

To split hairs. What does "To complete successfully" mean exactly? Apologies if this is defined elsewhere but I can't seem to find It.

I presume the intention is that success means a well-defined response is fully received I.e. even a response with an error code of 4xx or 5xx is classed as successful.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#pullrequestreview-202953969

---

From: Martin Thomson <[email-masked]>
Date: Tue, 12 Feb 2019 15:45:18 -0800

martinthomson approved this pull request.

> @@ -1259,21 +1259,21 @@ identified by a QUIC MAX_STREAM_ID frame, and MAY be zero if no requests were
 processed.  Servers SHOULD NOT increase the QUIC MAX_STREAM_ID limit after
 sending a GOAWAY frame.
 
-Once GOAWAY is sent, the server MUST reject requests sent on streams with an
-identifier greater than or equal to the indicated last Stream ID.  Clients MUST
-NOT send new requests on the connection after receiving GOAWAY, although
-requests might already be in transit. A new connection can be established for
-new requests.
-
-If the client has sent requests on streams with a Stream ID greater than or
-equal to that indicated in the GOAWAY frame, those requests are considered
-rejected ({{request-cancellation}}).  Clients SHOULD cancel any requests on
-streams above this ID.  Servers MAY also reject requests on streams below the
-indicated ID if these requests were not processed.
+Clients MUST NOT send new requests on the connection after receiving GOAWAY,
+although a new connection MAY be established to send additional requests.

I don't think that this is an "although" case.  Maybe a separate sentence.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#pullrequestreview-202955374

---

From: Mike Bishop <[email-masked]>
Date: Tue, 12 Feb 2019 15:56:13 -0800

@MikeBishop pushed 2 commits.

dd455cd6389f2a8f2b3c2cfacd36bf50f5749d6a  Un-although
166b13db1d438eafeed7eb816824fac6021b9813  Restate "complete successfully"

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457/files/50b0f35bfe6c9d28e0e91e5f208f65ba5aac34c8..166b13db1d438eafeed7eb816824fac6021b9813

---

From: Lucas Pardue <[email-masked]>
Date: Tue, 12 Feb 2019 16:01:13 -0800

LPardue approved this pull request.

Lgtm now

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#pullrequestreview-202971590

---

From: Kazuho Oku <[email-masked]>
Date: Tue, 12 Feb 2019 16:59:12 -0800

kazuho approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#pullrequestreview-202986114

---

From: ianswett <[email-masked]>
Date: Wed, 13 Feb 2019 05:33:12 -0800

ianswett commented on this pull request.

> @@ -1270,10 +1270,10 @@ client.  It is RECOMMENDED that the server explicitly reject such requests (see
 streams.  The client MAY also cancel requests which will not be processed.
 
 Requests on Stream IDs less than the Stream ID in the GOAWAY frame might have
-been processed; their status cannot be known until they are completed
-successfully, reset individually, or the connection terminates.  Servers MAY
-reject individual requests on streams below the indicated ID if these requests
-were not processed.
+been processed; their status cannot be known until a response is received, the
+stream is reset individually, or the connection terminates.  Servers MAY reject

Does reject == reset here?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#pullrequestreview-203210056

---

From: Mike Bishop <[email-masked]>
Date: Wed, 13 Feb 2019 17:15:14 +0000 (UTC)

MikeBishop commented on this pull request.

Reject and cancel are defined (cross-ref in previous paragraph) as reset with particular error codes.  If that's not clear, I'm open to proposed wordsmithing.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#discussion_r256498764

---

From: Dmitri Tikhonov <[email-masked]>
Date: Wed, 13 Feb 2019 11:32:30 -0800

dtikhonov approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#pullrequestreview-203405586

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 21 Feb 2019 19:07:03 -0800

janaiyengar approved this pull request.

-NOT send new requests on the connection after receiving GOAWAY, although
-requests might already be in transit. A new connection can be established for
-new requests.
-
-If the client has sent requests on streams with a Stream ID greater than or
-equal to that indicated in the GOAWAY frame, those requests are considered
-rejected ({{request-cancellation}}).  Clients SHOULD cancel any requests on
-streams above this ID.  Servers MAY also reject requests on streams below the
-indicated ID if these requests were not processed.
+Clients MUST NOT send new requests on the connection after receiving GOAWAY;
+a new connection MAY be established to send additional requests.
+
+Some requests might already be in transit. If the client has already sent
+requests on streams with a Stream ID greater than or equal to that indicated in
+the GOAWAY frame, those requests will not be processed and can be retried by the

```suggestion
the GOAWAY frame, those requests will not be processed and MAY be retried by the client on a new connection
```

-
-If the client has sent requests on streams with a Stream ID greater than or
-equal to that indicated in the GOAWAY frame, those requests are considered
-rejected ({{request-cancellation}}).  Clients SHOULD cancel any requests on
-streams above this ID.  Servers MAY also reject requests on streams below the
-indicated ID if these requests were not processed.
+Clients MUST NOT send new requests on the connection after receiving GOAWAY;
+a new connection MAY be established to send additional requests.
+
+Some requests might already be in transit. If the client has already sent
+requests on streams with a Stream ID greater than or equal to that indicated in
+the GOAWAY frame, those requests will not be processed and can be retried by the
+client.  It is RECOMMENDED that the server explicitly reject such requests (see
+{{request-cancellation}}) in order to clean up transport state for the affected
+streams.  The client MAY also cancel requests which will not be processed.

Suggestion: Swap the order of these last two sentences, so that client behavior is described first and then server. Also, the following:
```suggestion
streams.  The client MAY also cancel these requests.
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#pullrequestreview-206640980

---

From: Mike Bishop <[email-masked]>
Date: Mon, 25 Feb 2019 10:25:29 -0800

@MikeBishop pushed 1 commit.

78664c4902a294c055b17a660733d5f76309a168  Jana's suggestions

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457/files/166b13db1d438eafeed7eb816824fac6021b9813..78664c4902a294c055b17a660733d5f76309a168

---

From: Mike Bishop <[email-masked]>
Date: Mon, 25 Feb 2019 10:29:33 -0800

Merged #2457 into master.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2457#event-2162617939