sailfin
  1. sailfin
  2. SAILFIN-1856

ExpatIdMaps are incorrectly synchronized

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: milestone 1
    • Component/s: session_replication
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      1,856

      Description

      The maps of expat ids in SipTransactionPersistentManager and
      ReplicatoinDialogFragmentManager are incorrectly synchronized. The goal was to
      have a read/write lock on the theory that they are modified infrequently (during
      shape change). But they are modified as the expat ids are removed from the map;
      the removal however is incorrectly using the readlock.

      It will not be sufficient to change that to the writelock, as then we will have
      some unwanted cases where the readLock.try fails. We will need to modify the
      pattern to get the desired semantics (write locked during calculation, but
      thread safe otherwise).

        Activity

        Hide
        Scott Oaks added a comment -

        Testing fix.

        Show
        Scott Oaks added a comment - Testing fix.
        Hide
        prasads added a comment -

        Re-assign to Mahesh.

        Show
        prasads added a comment - Re-assign to Mahesh.
        Hide
        Scott Oaks added a comment -

        Fixed.

        Checking in
        appserv-core-ee/http-session-persistence/src/java/com/sun/enterprise/ee/web/sessmgmt/ReplicationManagerBase.java;
        /cvs/glassfish/appserv-core-ee/http-session-persistence/src/java/com/sun/enterprise/ee/web/sessmgmt/ReplicationManagerBase.java,v
        <-- ReplicationManagerBase.java
        new revision: 1.31.2.87; previous revision: 1.31.2.86
        done
        Checking in
        replication/src/main/java/org/jvnet/glassfish/comms/replication/dialogmgmt/ReplicationDialogFragmentManager.java;
        /cvs/sailfin/replication/src/main/java/org/jvnet/glassfish/comms/replication/dialogmgmt/ReplicationDialogFragmentManager.java,v
        <-- ReplicationDialogFragmentManager.java
        new revision: 1.104; previous revision: 1.103
        done
        Checking in
        replication/src/main/java/org/jvnet/glassfish/comms/replication/sessmgmt/SipTransactionPersistentManager.java;
        /cvs/sailfin/replication/src/main/java/org/jvnet/glassfish/comms/replication/sessmgmt/SipTransactionPersistentManager.java,v
        <-- SipTransactionPersistentManager.java
        new revision: 1.199; previous revision: 1.198
        done

        Show
        Scott Oaks added a comment - Fixed. Checking in appserv-core-ee/http-session-persistence/src/java/com/sun/enterprise/ee/web/sessmgmt/ReplicationManagerBase.java; /cvs/glassfish/appserv-core-ee/http-session-persistence/src/java/com/sun/enterprise/ee/web/sessmgmt/ReplicationManagerBase.java,v <-- ReplicationManagerBase.java new revision: 1.31.2.87; previous revision: 1.31.2.86 done Checking in replication/src/main/java/org/jvnet/glassfish/comms/replication/dialogmgmt/ReplicationDialogFragmentManager.java; /cvs/sailfin/replication/src/main/java/org/jvnet/glassfish/comms/replication/dialogmgmt/ReplicationDialogFragmentManager.java,v <-- ReplicationDialogFragmentManager.java new revision: 1.104; previous revision: 1.103 done Checking in replication/src/main/java/org/jvnet/glassfish/comms/replication/sessmgmt/SipTransactionPersistentManager.java; /cvs/sailfin/replication/src/main/java/org/jvnet/glassfish/comms/replication/sessmgmt/SipTransactionPersistentManager.java,v <-- SipTransactionPersistentManager.java new revision: 1.199; previous revision: 1.198 done

          People

          • Assignee:
            Mahesh Kannan
            Reporter:
            Scott Oaks
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: