Jetspeed 2
  1. Jetspeed 2
  2. JS2-986

PAM NodeManager operation not thread-safe

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.2.0
    • Component/s: Deployment
    • Labels:
      None
    • Environment:
      Demo
      Tomcat 6/JDK6
      Multiprocessor Linux

      Description

      Exceptions received during deployment:

      java.util.ConcurrentModificationException
      at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
      at java.util.HashMap$EntryIterator.next(HashMap.java:851)
      at java.util.HashMap$EntryIterator.next(HashMap.java:849)
      at java.util.HashMap.writeObject(HashMap.java:1016)
      at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at
      java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
      at
      java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1478)
      at
      java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1409)
      at
      java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1167)
      at
      java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:343)
      at
      org.apache.jetspeed.cluster.NodeManagerImpl.save(NodeManagerImpl.java:73)
      at
      org.apache.jetspeed.cluster.NodeManagerImpl.addNode(NodeManagerImpl.java:142)
      at
      org.apache.jetspeed.tools.pamanager.PortletApplicationManager.registerPortletApplication(PortletApplicationManager.java:388)
      at
      org.apache.jetspeed.tools.pamanager.PortletApplicationManager.attemptStartPA(PortletApplicationManager.java:528)
      at
      org.apache.jetspeed.tools.pamanager.PortletApplicationManager.tryStartPortletApplication(PortletApplicationManager.java:244)

        Activity

        Ate Douma made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Randy Watler made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Randy Watler added a comment -

        Unable to reproduce issue locally using single or multiple core systems running Tomcat6/JDK6.

        Added synchronized protection to PAM NodeManager component to prevent multiple thread access to backing files and/or PA version hash map.

        Commit: 771461

        Show
        Randy Watler added a comment - Unable to reproduce issue locally using single or multiple core systems running Tomcat6/JDK6. Added synchronized protection to PAM NodeManager component to prevent multiple thread access to backing files and/or PA version hash map. Commit: 771461
        Hide
        Randy Watler added a comment -

        Issue probably related to PAM retry enhancements recently implemented. Issue does not appear in Tomcat5/JDK5 or Tomcat6/JDK5.

        Show
        Randy Watler added a comment - Issue probably related to PAM retry enhancements recently implemented. Issue does not appear in Tomcat5/JDK5 or Tomcat6/JDK5.
        Randy Watler created issue -

          People

          • Assignee:
            Randy Watler
            Reporter:
            Randy Watler
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development