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