-
Suggestion
-
Resolution: Fixed
NOTE: This suggestion is for JIRA Server. Using JIRA Cloud? See the corresponding suggestion.
When debugging a suspected GreenHopper performance issue in OnDemand, I did some profiling on an instance to get to the root of the problem. It looks as though the Flowdock for JIRA plugin is doing some very expensive PropertySet creation in an IssueEventListener. This might not have been picked up on in regular JIRA usage, as most of the time IssueEvents are fired for only a single issue (create, update, etc). However GreenHopper updates multiple issues at a single time in a loop, and the slowdown caused by this extra code is very noticeable.
OnDemand instances bundle the Flowdock for JIRA plugin by default. Thus this could be a big problem for a lot of customers. Note that I tried to disable the plugin to see if the problem went away, but it still persisted.
Here is the thread profile from New Relic:
100.0% - java.lang.Thread.run
152 Collapsed methods (show)
97.0% - com.atlassian.greenhopper.service.sprint.SprintIssueServiceImpl.addIssuesToSprint
95.0% - com.atlassian.greenhopper.service.issue.IssueUpdateServiceImpl.update
18 Collapsed methods (show)
95.0% - com.atlassian.jira.issue.managers.DefaultIssueManager.updateIssue
87.0% - com.atlassian.jira.issue.managers.DefaultIssueManager.doUpdate
87.0% - com.atlassian.jira.issue.util.DefaultIssueUpdater.doUpdate
83.0% - com.atlassian.jira.event.issue.DefaultIssueEventManager.dispatchEvent
2 Collapsed methods (hide)
83.0% - com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEvent
83.0% - com.atlassian.multitenant.event.PeeringEventPublisher.publish
83.0% - com.atlassian.multitenant.event.DefaultPeeringEventPublisherManager.publish
64.0% - com.atlassian.event.internal.EventPublisherImpl.publish
24 Collapsed methods (hide)
64.0% - com.atlassian.event.internal.EventPublisherImpl.invokeListeners
64.0% - com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch
64.0% - com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute
64.0% - com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run
63.0% - com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke
63.0% - java.lang.reflect.Method.invoke
63.0% - sun.reflect.DelegatingMethodAccessorImpl.invoke
62.0% - sun.reflect.GeneratedMethodAccessor423.invoke
62.0% - com.flowdock.plugins.jira.IssueChangeListener.onIssueEvent
62.0% - com.flowdock.plugins.jira.config.FlowdockConfigurationManager.getApiKeyForProject
62.0% - com.flowdock.plugins.jira.config.FlowdockConfigurationManager.getPropertySet
62.0% - com.atlassian.jira.config.properties.PropertiesManager.getPropertySet
62.0% - com.atlassian.util.concurrent.ResettableLazyReference.get
62.0% - com.atlassian.util.concurrent.LazyReference.get
62.0% - com.atlassian.util.concurrent.LazyReference.getInterruptibly
62.0% - com.atlassian.util.concurrent.LazyReference$Sync.run
62.0% - com.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create
62.0% - com.atlassian.jira.config.properties.DbBackedPropertiesManager$1.create
62.0% - com.atlassian.jira.config.properties.DbBackedPropertiesManager$1.create
62.0% - com.atlassian.jira.config.properties.PropertySetUtils.createDatabaseBackedPropertySet
62.0% - com.opensymphony.module.propertyset.PropertySetManager.getInstance
62.0% - com.opensymphony.module.propertyset.PropertySetManager.getInstance
62.0% - com.atlassian.jira.propertyset.JiraCachingPropertySet.init
62.0% - com.atlassian.jira.propertyset.PropertySetCache.bulkLoad
62.0% - com.atlassian.jira.propertyset.PropertySetCache.cloneProperty
35.0% - com.opensymphony.module.propertyset.AbstractPropertySet.getString
35.0% - com.opensymphony.module.propertyset.ofbiz.OFBizPropertySet.get
18.0% - com.opensymphony.module.propertyset.ofbiz.OFBizPropertySet.findPropertyEntry
5 Collapsed methods (show)
16.0% - org.ofbiz.core.entity.GenericDAO.selectListIteratorByCondition
8.7% - org.ofbiz.core.entity.jdbc.SQLProcessor.executeQuery
4.0% - org.ofbiz.core.entity.jdbc.SQLProcessor.prepareStatement
2.7% - org.ofbiz.core.entity.jdbc.ReadOnlySQLProcessor.<init>
17.0% - org.ofbiz.core.entity.GenericDelegator.findByPrimaryKey
2 Collapsed methods (show)
17.0% - org.ofbiz.core.entity.GenericDAO.select
11.0% - org.ofbiz.core.entity.GenericDAO.select
4.0% - org.ofbiz.core.entity.jdbc.SQLProcessor.getConnection
2.0% - org.ofbiz.core.entity.jdbc.SQLProcessor.close
20.0% - com.opensymphony.module.propertyset.ofbiz.OFBizPropertySet.getType
6 Collapsed methods (show)
19.0% - org.ofbiz.core.entity.GenericDAO.selectListIteratorByCondition
14.0% - org.ofbiz.core.entity.jdbc.SQLProcessor.executeQuery
11.0% - org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery
5 Collapsed methods (show)
11.0% - org.postgresql.core.v3.QueryExecutorImpl.execute
6.7% - org.postgresql.core.v3.QueryExecutorImpl.sendSync
3.4% - org.postgresql.core.v3.QueryExecutorImpl.processResults
2.7% - org.ofbiz.core.entity.jdbc.SQLProcessor.afterExecution
4.7% - org.ofbiz.core.entity.jdbc.SQLProcessor.prepareStatement
6.0% - com.opensymphony.module.propertyset.AbstractPropertySet.getBoolean
19.0% - .$Proxy11.publish
34 Collapsed methods (show)
19.0% - sun.misc.Unsafe.park
2.0% - com.atlassian.jira.transaction.TransactionSupportImpl$TransactionImpl.commit
8.1% - com.atlassian.jira.issue.managers.DefaultIssueManager.updateFieldValues
2.7% - com.atlassian.greenhopper.service.issue.IssueUpdateServiceImpl.validateUpdate
- is related to
-
JRASERVER-28012 Please update Flowdock plugin to 1.50.5 on JOD
- Closed
- relates to
-
JRACLOUD-27972 Flowdock plugin is causing performance issues for OnDemand instances
- Closed