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 21:53:06 UTC

[jira] [Commented] (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 commented on TS-1007:
------------------------------------

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)