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

Susan Hinrichs commented on TS-3413:
------------------------------------

I think I have a solution to the spin that does not cause a later crash in 
fix-h2-plus-spin.diff. This includes both of Ryo's h2-fix patches plus a change 
in Http2ConnectionState::send_data_frame. The original version would 
immediately break out of processing if the payload_length was 0. I changed it 
to break out only if payload_length was 0 and steam->is_body_done() was false.
I think what we were seeing was an EOS from the server after sending no data. 
The is_body_done() was correctly set to true in this case, but we needed to 
proceed deeper in the send_data_frame processing to call this->delete_stream, 
which will cause the associated FetchSM to be deleted and socket to be closed.


> High CPU utilization when processing Http/2 traffic
> ---------------------------------------------------
>
>                 Key: TS-3413
>                 URL: https://issues.apache.org/jira/browse/TS-3413
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP/2, Performance
>            Reporter: Susan Hinrichs
>
> Running ATS in forward transparent mode with Http/2 support enabled. After a 
> few page views, ATS gets into a state where it is consistently using more 
> than 100% CPU. I think what is happening is that the origin server is closing 
> the connection (we get a TS_EVENT_VCONN_EOS in FetchSM). FetchSM sends a 
> BODY_DONE to Http2ClientSession but the http_vc (origin socket?) is never 
> closed, so with each poll interval the EOS is reported again and again.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to