Re: Getting to Consensus: CONTINUATION-related issues

On 18/07/2014 3:15 p.m., Mark Nottingham wrote:
> 
> On 18 Jul 2014, at 12:53 pm, Amos Jeffries <squid3@treenet.co.nz> wrote:
> 
>> On 18/07/2014 12:44 p.m., Mark Nottingham wrote:
>>> We've had a rollicking discussion about the design tradeoffs in CONTINUATION, especially regarding HOL blocking and DoS considerations.
>>>
>>> I see very little new information entering that discussion, and I think everyone has come to understand the tradeoffs. For a refresher, please see the wiki:
>>>  https://github.com/http2/http2-spec/wiki/ContinuationProposals
>>>
>>> I proposed two options the other day:
>>>
>>> a) Remove CONTINUATION from the specification and add a new setting that dictates the maximum HEADERS/PUSH_PROMISE frame size (as distinct from max_frame_size) a peer is willing to receive. I.e., the setting refers to the compressed header size.
>>>
>>> b) Keep CONTINUATION in the specification, and add a new setting that advises the maximum header set size (i.e,. uncompressed) a peer is willing to receive (but might not imply PROTOCOL_ERROR or STREAM_ERROR on receipt).
>>>
>>> Although there have been some tentative proposals for additional options since, I haven't heard a clamour for support for them, so I think these are realistically the ways we can go.
>>>
>>> As stated before, there will no doubt be tweaking and adjustments made to these, but I think we're in a place where we can choose a general direction.
>>>
>>> I'd like to hear:
>>>
>>> 1) Your preferred outcome (if any)
>>
>> (A).
>>
>>> 2) Whether you can live with the other option, and if not, why
>>
>> "CONTINUATION without a length limit" adds a great complexity to the
>> intermediary code and opens us to unacceptible levels of resource
>> commitments for the rare[1] chance of being useful. In 1.1 this is only
>> just coped with, in h2 with multiplexing it grows unacceptible.
>>
>> "CONTINUATION with a length limit" is simpler both for spec and
>> implementation when written in the form of a Large Frame
>> unlimited-length value for use only by 1:1 "TCP tunnel" type proxying
>> where h2 as a whole ceases relevance.
>>
>> [1] Specifically the unlimited length need is rare. As opposed to
>> knowable but large lengths, which are far more common.
> 
> Hi Amos -- please be explicit -- is this the reasoning for your preference, or a statement of why you can't live with it?
> 
> (I ask because "can't live with it" is a big statement either way, and we need to make sure it's unambiguous when it's said).
> 

Reasoning for a "prefer A". As you say, "cant live with" is hard to
justify when implementations obviously exist. It is "just" a massive
amount of trouble for an edge case that is easily avoidable via simpler
means.

Amos

Received on Friday, 18 July 2014 04:56:20 UTC