Open
Description
Motivations
- In unlikely scenarios, the extension could get stuck open until there is a request sent from the router on each open channel, allowing the subsequent re-request to get a 409
- These scenarios, while infrequent, could be very costly
Acceptance Criteria
- Add support to the Extension for a status code that indicates "call me again"
- This could be
204 No Content
which would trigger the next request loop - Do not send this status code from the router until supported by the extension
- When there are other users, this sort of change would need to have the Extension identify that it supports a particular feature when it connects - This can be done by setting a features header on the router channel request
- This could be
- Consider support to the Router for a 103 Early Hint with a
Lambda-Dispatch-Control
header that can ask for closing - Consider extracting the
/api/chunked/close
request into a location where it can be independently invoked on errors- This should attempt to establish a new connection for the request
- If the connection fails, the channels should exit after:
- A lengthy (20-30 seconds) timeout if there are requests in flight, unless the count drops to zero
- A short (5 seconds) timeout if there are no requests in flight and no requests arrive during that timeout