Re: CONTINUATION proposal w/ minimum change

On Jul 1, 2014, at 12:12 PM, Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> wrote:
> I'm sure that everyone ​wants to avoid HOL blocking.  But the thing is how much it costs, at this stage.

Not much. A few lines in the spec, and some more intelligence in header splitting. 

> As I stated earlier, this proposal adds more complexities than it removes and it serves just for treating 0.02%.

It’s not about the .02%, it’s about get 99.8% not getting trumped by the .02%.

>  I have to say the current CONTINUATION spec is well balanced compromise if you ask.

There is no balance, it’s .02% rules all. I also have seen no compromise. There are a lot of proposals to fix it, and I think those that have repeatedly highlighted this issue are open to many different options. We just need the will to fix it.

> I believe good intermediary implementation does not allow hugely abused headers.

The intermediar's hands are tied. It has no idea what the origin will accept, and it has to forward what the content provided by the client.

Even if you shrug at the traffic prioritization problem, consider this situation. A proxy accepts 128K headers (that’s reasonable right?), while one of the origins only accepts 20K. If it coalesces connections (which is a big advantage to a multiplexed protocol), the following situation can happen

 1. Client A sends 128K request
 2. Client B sends 64K request
 3. Client C sends 48K request
 4. Client D sends 32K request
 5. All of the above send 16K requests
 6. Proxy relays 128K request to Origin
 7. Origin rejects and has to hang up the connection
 8. Proxy reestablishes the connection
 9. Proxy relays 64K request to Origin
10. Origin rejects and has to hang up the connection
11. Proxy reestablishes the connection
12. Proxy relays 32K request to Origin
13. Origin rejects and has to hang up the connection
14. Proxy reestablishes the connection
15. Finally the rest of the traffic goes through after potentially getting resent due to all of the drops

This can become more chaotic with multiple hops.

> I'd like to see wide deployment of h2-13 to see whether or not CONTINUATION really causes serious issue.

If you paint your car’s windshield black, do you need to drive it to know if it will be a problem?

--
Jason T. Greene
WildFly Lead / JBoss EAP Platform Architect
JBoss, a division of Red Hat

Received on Tuesday, 1 July 2014 19:38:25 UTC