Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: 2.0
    • Fix Version/s: milestone 1
    • Component/s: sip_container
    • Labels:
      None
    • Environment:

      Operating System: Linux
      Platform: All

    • Issuezilla Id:
      2,065

      Description

      This is a sub-issue of issue 2060. See that issue for more information.

      After the SAS timers expire on the remaining 2 SASes, each of which has an SS
      child, only one of these SAS-SS pairs is actually removed from the active cache.
      One SAS and one SS remain hanging. After 75 minutes, the active objects listed
      still contains these objects, even though both are invalid according to the same
      log statement.

      Active Objects in Application: SIP:cluster1:com.sun.appserv:server:/ZAsyncProxy
      SAS: 0,36,daac04daae2e897d403ab10b85dde37c9aa6snasim ref:
      com.ericsson.ssa.sip.SipApplicationSessionImpl@22de3d isValid:false
      SS: daace15a9e409bea4192bc4d482c2fcd3a7d##164.48.50.97 at: 2009-12-08
      14:45:52.714 isValid:false

      #]

      (In the log file attached to issue 2060 does not show the 75 minute wait, but
      trust me they remain in the cache

        Issue Links

          Activity

          Hide
          binod added a comment -

          Back ground on the current sailfin design
          --------------------------------
          The tes† case creates two branches (one virtual and one normal). These branches use a cloned request.
          However the proxy context remains the same. When a response arrives the correct session is found and
          saved on the response, proxy context (path node) etc. There is a small bug in that as a

          Then the normal branch send the request to a B2b UA. Thus the corresponding dialog has two path
          nodes, one of the proxy and one of the B2B. Of the path nodes, one is the proxy context.

          A note on session clean up.
          ---------------------
          The sessions, when they are expired or explicitly invalidated, they are not removed immediately from
          the session manager. Instead, it wait for the current transaction to end properly. When it ends, the
          dialog is registered for clean up in the dialog cleaner. The session (and sas) gets removed as part of the
          dialog clean up.

          In our test case, the dialog (which contains two path nodes) are registered for clean up. When the
          cleaner executes, the dialog is cleaned up. And all the sessions (in the path nodes) in the dialog are
          cleaned up too.

          However since the proxy context (or path node) is shared for branches, the session in the path node
          gets assigned as per the arrival of the session. Now that means session of only one branch gets
          removed.

          Trying to fix this. Fix would need a careful design

          Show
          binod added a comment - Back ground on the current sailfin design -------------------------------- The tes† case creates two branches (one virtual and one normal). These branches use a cloned request. However the proxy context remains the same. When a response arrives the correct session is found and saved on the response, proxy context (path node) etc. There is a small bug in that as a Then the normal branch send the request to a B2b UA. Thus the corresponding dialog has two path nodes, one of the proxy and one of the B2B. Of the path nodes, one is the proxy context. A note on session clean up. --------------------- The sessions, when they are expired or explicitly invalidated, they are not removed immediately from the session manager. Instead, it wait for the current transaction to end properly. When it ends, the dialog is registered for clean up in the dialog cleaner. The session (and sas) gets removed as part of the dialog clean up. In our test case, the dialog (which contains two path nodes) are registered for clean up. When the cleaner executes, the dialog is cleaned up. And all the sessions (in the path nodes) in the dialog are cleaned up too. However since the proxy context (or path node) is shared for branches, the session in the path node gets assigned as per the arrival of the session. Now that means session of only one branch gets removed. Trying to fix this. Fix would need a careful design

            People

            • Assignee:
              sankara
              Reporter:
              erikvandervelden
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: