[ 
https://issues.apache.org/jira/browse/TS-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12919512#action_12919512
 ] 

Alan M. Carroll commented on TS-480:
------------------------------------

During out testing we have been having problems with ATS stalling out, then 
recovering when doing multiple simultaneous clients. I think the problem is 
caused by the default for NetVCOptions::f_blocking_connect being set to true. 
When I did that fix initially it wasn't clear to me what the correct default 
was (as evidenced by the comments for NetVCOptions in I_NetVConnection.h state 
the default as "false").

As a fix, I propose to

1) Change the default to "false" (that is, connect() does not block).
2) Explicit set the opt.f_blocking_connect to false in 
HttpSM::do_http_server_open.

I am currently testing this fix locally.

My concern is possible side effects from changing the default. I am still not 
sufficiently familiar with the connection logic to be confident of this change. 
Note that for this specific issue, (2) should suffice but I now think that 
overall the expectation of other code is for the default to be non-blocking.

> Unresponsive server can stall ATS
> ---------------------------------
>
>                 Key: TS-480
>                 URL: https://issues.apache.org/jira/browse/TS-480
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP
>    Affects Versions: 2.1.4, 2.1.3, 2.1.2, 2.1.1
>            Reporter: Alan M. Carroll
>            Assignee: Alan M. Carroll
>
> If a cache fill request from ATS to an origin stalls, this can block all 
> other HTTP connections outbound from ATS. ATS appears to be unresponsive 
> until the stalled request fails, at which point ATS resumes operation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to