[
https://issues.apache.org/jira/browse/TS-3777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14662584#comment-14662584
]
Susan Hinrichs commented on TS-3777:
------------------------------------
I've tracked this issue down to the HttpSM::tunnel_handler_ua() function. In
particular the part where it sets the half_close_flag if the event was write
complete and the request was a non-internal post or a pipeline_possible client.
If I comment out the ua_session->set_half_close_flag(), then Daniel's plugin
works properly. Otherwise, it stalls out in the post case (works in the get
case).
I'm not understanding the need for the logic, but I know there is a need. When
I removed the post check for TS-3640 [~sudheerv] found scenarios with large
memory leaks.
By setting the half_close flag, the following do_io_close only does a
shutdown_write on the client VC. Presumably this leaves the client VC around
to drain more post response. But if we did get a WRITE_COMPLETE it isn't clear
to me what post data remains to drain.
[~briang] and [~jacksontj] also made changes in this area for TS-3404 so
perhaps they could lend some guidance as well.
What is the memory leak caused by not doing the half_close_write for the post
on this case?
> TSHttpConnect and POST request does not fire TS_VCONN_READ_COMPLETE nor
> TS_VCONN_EOS
> ------------------------------------------------------------------------------------
>
> Key: TS-3777
> URL: https://issues.apache.org/jira/browse/TS-3777
> Project: Traffic Server
> Issue Type: Bug
> Components: TS API
> Reporter: Daniel Vitor Morilha
> Assignee: Susan Hinrichs
> Labels: yahoo
> Fix For: 6.1.0
>
>
> When using TSHttpConnect to connect to ATS itself (internal vconnection),
> sending a POST request and receiving a CHUNKED response. ATS does not fire
> neither TS_VCONN_READ_COMPLETE nor TS_VCONN_EOS.
> Trying to close the vconnection from the plug-in after receiving the last
> chunk ("\r\n0\r\n") results into the PluginVC repeating the following message:
> {noformat}
> [Jul 14 21:24:06.094] Server {0x7ffff7fbe800} DEBUG: (pvc_event) [0] Passive:
> Received event 1
> {noformat}
> I am glad to provide an example if that helps.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)