Issue Summary
In Jira Data Center 10.0.0, the Atlassian Webhooks Plugin was upgraded to 8.0.x.
In 8.0.x versions, when a webhook is called, all payloads for webhooks are being created.
Once the filter is applied, any webhooks that don't match the filters are then discarded.
This is more inefficient than in previous versions as payload builds can be expensive.
In some cases, this may lead to performance issues with many webhooks and events.
Expected Results
Only webhook payloads are created that match the filter.
Actual Results
All webhook payloads are being created and then filtered out.
When webhook issues appear, these may show up in the logs:
2025-03-25 14:05:00,000+0000 http-nio-8080-exec-1 ERROR charlie 1x1x1 abcdef 0.0.0.0 /secure/AjaxIssueAction.jspa [c.a.event.internal.AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [com.atlassian.jira.event.issue.IssueEvent@cafebabe[issue=TIS-1,comment=<null>,worklog=<null>,changelog=[GenericEntity:ChangeGroup][issue,10000][author,charlie][created,2025-03-25 14:04:59.00][id,10000],eventTypeId=2,sendMail=true,params={eventsource=action, baseurl=https://jira.example.com},subtasksUpdated=true,spanningOperation=Optional.empty]] from the invoker [com.atlassian.event.internal.ComparableListenerInvoker@cafebabe] java.lang.RuntimeException: Task com.atlassian.webhooks.internal.DefaultWebhookService$$Lambda$1234/0x0000000cafebebe@cafebabe rejected from java.util.concurrent.ThreadPoolExecutor@cafebabe[Running, pool size = 5, active threads = 5, queued tasks = 250, completed tasks = 80000]. Listener: com.atlassian.jira.plugins.webhooks.spi.JiraWebhookEventPublisher event: com.atlassian.jira.event.issue.IssueEvent
Workaround
Depending on the size of the environment and number of webhooks used, you may be able to workaround this issue by adjusting some of webhook parameters as mentioned in our Tuning webhook performance parameters in Jira Data Center KB article.
- is related to
-
JRASERVER-78911 Slow issue JSON generation (webhooks/REST API) in Jira Data Center when custom fields are overly scoped
-
- Waiting for Release
-
-
JRASERVER-79124 Slow webhook payloads due to N+1 queries when serializing changelog items
-
- Waiting for Release
-
-
JRASERVER-79125 Webhook payloads do not limit changelog items, causing performance and scalability issues
-
- Waiting for Release
-
-
JRASERVER-79126 Webhook payload generation is slow due to lack of caching in comment serialization
-
- Waiting for Release
-
-
JRASERVER-79127 Remove total comment count in webhook payloads to limit expensive permission checks
- Gathering Interest
- relates to
-
JRASERVER-79100 Some async webhooks do not use request cache in Jira Data Center
-
- Closed
-
-
JRASERVER-79101 Unnecessary repeated webhook payload generation impacts Jira performance
-
- Closed
-