Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-11172

Unsynchronised hashmap DefaultPermissionSchemeManager.schemeEntityCache causing hangs

    XMLWordPrintable

Details

    Description

      In DefaultPermissionSchemeManager, we have an unsynchronized hashmap schemeEntityCache, which is used from multiple threads. It occasionally will hang threads, resulting in thread dumps like:

      "Servlet.Engine.Transports : 4045" daemon prio=5 tid=0x0225c640 nid=0x32d6 runnable [cd4fc000..cd4ffc30]
          at java.util.HashMap.eq(HashMap.java:274)
          at java.util.HashMap.get(HashMap.java:323)
          at org.ofbiz.core.entity.GenericEntity.compareTo(GenericEntity.java:829)
          at org.ofbiz.core.entity.GenericEntity.equals(GenericEntity.java:751)
          at java.util.HashMap.eq(HashMap.java:274)
          at java.util.HashMap.containsKey(HashMap.java:343)
          at com.atlassian.jira.permission.DefaultPermissionSchemeManager.cacheSchemeEntities(DefaultPermissionSchemeManager.java:321)
          at com.atlassian.jira.permission.DefaultPermissionSchemeManager.getEntities(DefaultPermissionSchemeManager.java:171)
          at com.atlassian.jira.permission.DefaultPermissionSchemeManager.getEntities(DefaultPermissionSchemeManager.java:74)
          at com.atlassian.jira.permission.DefaultPermissionSchemeManager.hasSchemePermission(DefaultPermissionSchemeManager.java:294)
          at com.atlassian.jira.permission.DefaultPermissionSchemeManager.hasPermission(DefaultPermissionSchemeManager.java:279)
          at com.atlassian.jira.permission.DefaultPermissionSchemeManager.hasSchemeAuthority(DefaultPermissionSchemeManager.java:233)
          at com.atlassian.jira.security.AbstractPermissionManager.hasProjectPermission(AbstractPermissionManager.java:176)
          at com.atlassian.jira.security.AbstractPermissionManager.hasPermission(AbstractPermissionManager.java:135)
          at com.atlassian.jira.security.WorkflowBasedPermissionManager.hasPermission(WorkflowBasedPermissionManager.java:61)
          at com.atlassian.jira.security.AbstractPermissionManager.hasPermission(AbstractPermissionManager.java:108)
          at com.atlassian.jira.security.AbstractPermissionManager.hasProjects(AbstractPermissionManager.java:221)
          at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              7ee5c68a815f Jeff Turner
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: