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

John Plevyak commented on TS-287:
---------------------------------

I looked into this and I don't think what is happening is what you think is 
happening. 
What is happening is that with pipelining, the POST is getting written down in 
the background,
so we are off the active timer and onto the keepalive timer as per 
HttpSM.cc:7436 (mainline)
then 

    // Set the active timeout to the same as the inactive time so
    //   that this connection does not hang around forever if
    //   the ua hasn't closed
    
client_vc->set_active_timeout(HRTIME_SECONDS(HttpConfig::m_master.keep_alive_no_activity_timeout_out));

in HttpClientSession.cc:620.

Now I am no HTTP guy, so I have no idea if this is right or what, but when the 
new transaction starts
for some reason it isn't calling set_acitive_timeout (why I have no idea, but 
that is called from 
HttpClientSession::new_transaction()).

That is the first problem.  The second problem is that the initial 
set_active_timeout is being called when the transaction
is completely disabled (i.e. inactive).  The reason is that nbytes for the read 
is 0 so the read isn't enabled.
The active timeout is defined as being on an active connection and it is 
automatically disabled when the
connection becomes inactive (e.g. when you are nolonger reading and are done 
writing).  So in order to even
get the active timeout to start you have to have setup the read or have 
something in the write buffer and
the connection read or write enabled.

So this is an HTTP problem which is outside of my domain.


> transaction_active_timeout_in does not trigger on the first request of a 
> Keep-Alive connection
> ----------------------------------------------------------------------------------------------
>
>                 Key: TS-287
>                 URL: https://issues.apache.org/jira/browse/TS-287
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Steve Jiang
>             Fix For: 2.1.3
>
>         Attachments: slowclient.pl
>
>
> proxy.config.http.transaction_active_timeout_in does not trigger on a slow 
> request on if the request is the first on a new client connection, because 
> the timeout event is cancelled before it can be triggered.  
> Subsequent requests with keep-alive on the same connection will correctly 
> trigger the active_timeout_in.

-- 
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