Hi Willy,

> OK so instead of sending you a boring series, I can propose you to run
> a test on 2.0-dev, which contains all the fixes I had to go through
> because of tiny issues everywhere related to this. If you're using git,
> just clone the master and checkout commit f7a259d46f8.
> you can simply wait for the next nightly snapshot.

Sounds good. My compilation playbook uses tarballs, so I'll just use the last 
nightly. I assume I should wait for these fixes to be backported (1.9.3?) 
before trying anything in production?

> But now you have a new server parameter called
> "max-reuse". This allows to limit the number of times a server connection
> is reused. For example you can set it to 990 when you know that the
> server limits to 1000.

That's great! I didn't expect to get a new configuration option. I'll 
definitely make sure these are in sync across our infrastructure.

> Regarding the fact that in your case the client's close seems to cause
> the server-side issue, I couldn't yet reproduce it though I have a few
> theories about it. One of them would be an unexpected response from
> the server causing the connection to turn to an error state. The other
> one would be that we'd incorrectly abort our stream and/or session and
> bring the connection down with us. I'll submit these theories to Olivier
> once he's back so that he can tell me I'm saying crap regarding some of
> them and we can focus on what remains :-)

Sounds good. I'll report back my results from the latest snapshot and we can go 
from there. Perhaps the client causing the issues was a red herring for the 
server-side bugs.

Thanks again for deep-diving and resolving this! I won't ask how many hours it 
took to find all these small edge cases. . .

Best,
Luke

—
Luke Seelenbinder
Stadia Maps | Founder
stadiamaps.com

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, January 24, 2019 7:55 PM, Willy Tarreau <w...@1wt.eu> wrote:

> Hi Luke,
> 

> On Wed, Jan 23, 2019 at 05:16:04PM +0000, Luke Seelenbinder wrote:
> 

> > Hi Willy,
> > This is all very good to hear. I'm glad you were able to get to the bottom 
> > of
> > it all!
> > Feel free to send along patches if you want me to test before the 1.9.3
> > release. I'm more than happy to do so.
> 

> OK so instead of sending you a boring series, I can propose you to run
> a test on 2.0-dev, which contains all the fixes I had to go through
> because of tiny issues everywhere related to this. If you're using git,
> just clone the master and checkout commit f7a259d46f8.
> you can simply wait for the next nightly snapshot.
> 

> Just let me know if that's OK for you.
> 

> I found a number of issues that were causing server aborts, mainly
> due to the late GOAWAY frame. Once we hit this one, the connection
> is quickly closed by the server, causing our output packets to be
> rejected and the connection to be in error. I have not yet investigated
> in details to see if the close happens after we got the last data or in
> the middle though. But now you have a new server parameter called
> "max-reuse". This allows to limit the number of times a server connection
> is reused. For example you can set it to 990 when you know that the
> server limits to 1000.
> 

> On the tests I've run here, I managed to address all the problems
> related to excessive use of idle connections resulting in too many
> streams being sent. In addition most of the rare cases that still
> happen when you don't have max-reuse are properly handled as a retry.
> 

> Regarding the fact that in your case the client's close seems to cause
> the server-side issue, I couldn't yet reproduce it though I have a few
> theories about it. One of them would be an unexpected response from
> the server causing the connection to turn to an error state. The other
> one would be that we'd incorrectly abort our stream and/or session and
> bring the connection down with us. I'll submit these theories to Olivier
> once he's back so that he can tell me I'm saying crap regarding some of
> them and we can focus on what remains :-)
> 

> Regards,
> Willy

Attachment: publickey - luke.seelenbinder@stadiamaps.com - 0xB23C1E8A.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to