You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Susan Hinrichs (JIRA)" <ji...@apache.org> on 2015/07/10 22:20:05 UTC
[jira] [Comment Edited] (TS-1007) SSN Close called before TXN Close
[ https://issues.apache.org/jira/browse/TS-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14622820#comment-14622820 ]
Susan Hinrichs edited comment on TS-1007 at 7/10/15 8:19 PM:
-------------------------------------------------------------
Research notes.
Case 1, HTTP1.1 over TCP: SSN Start, TXN Start, TXN Close, SSN Close
All is well!
Case 2, HTTP 1.1 over SSL: SSN Start, TXN Start, TXN Close, SSN Close
Also works.
Case 2, HTTP 1.1 over SSL with a redirect (i.e. two request from the client over the same connection): SSN Start, TXN Start, TXN Close, TXN Start, SSN Close, TXN Close
Problems.
Case 3, HTTP 1.1 over H2: SSN Start X, SSN Start Y, TXN Start, SSN Close Y, TXN Close, SSN Close X
Two Sessions, not so good.
Need to recompile to get the SPDY case set up.
was (Author: shinrich):
Research notes.
Case 1, HTTP1.1 over TCP: SSN Start, TXN Start, TXN Close, SSN Close
All is well!
Case 2, HTTP 1.1 over SSL: SSN Start, TXN Start, TXN Close, TXN Start, SSN Close, TXN Close
Look like the keep_alive logic is being triggered by a read ready to set up a new TXN
Case 3, HTTP 1.1 over H2: SSN Start X, SSN Start Y, TXN Start, SSN Close Y, TXN Close, SSN Close X
Two Sessions, not so good.
Need to recompile to get the SPDY case set up.
> SSN Close called before TXN Close
> ---------------------------------
>
> Key: TS-1007
> URL: https://issues.apache.org/jira/browse/TS-1007
> Project: Traffic Server
> Issue Type: Bug
> Components: TS API
> Affects Versions: 3.0.1
> Reporter: Nick Kew
> Assignee: Susan Hinrichs
> Labels: incompatible
> Fix For: 6.0.0
>
>
> Where a plugin implements both SSN_CLOSE_HOOK and TXN_CLOSE_HOOK, the SSN_CLOSE_HOOK is called first of the two. This messes up normal cleanups!
> Details:
> Register a SSN_START event globally
> In the SSN START, add a TXN_START and a SSN_CLOSE
> In the TXN START, add a TXN_CLOSE
> Stepping through, I see the order of events actually called, for the simple case of a one-off HTTP request with no keepalive:
> SSN_START
> TXN_START
> SSN_END
> TXN_END
> Whoops, SSN_END cleaned up the SSN context, leaving dangling pointers in the TXN!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)