-
Bug
-
Resolution: Fixed
-
High
-
10.0.0, 5.12.13, 5.17.2
-
7
-
Severity 2 - Major
-
90
-
Issue Summary
This issue only reproduces if all of the following conditions are true:
- Jira/JSM versions on or above 10.0.0, 5.12.13, 5.17.2
- There are Assets Custom field(s) with project context
- The project context Assets CF(s) is one of the Columns in Jira issue search's List View
If all of the above conditions are true, then depending on the number of issues returned by the JQL search, the atlassian-jira.log is filled with the following NullPointerExceptions:
2024-12-04 07:37:01,161+0000 http-nio-8080-exec-23 url: /jsm/rest/issueNav/1/issueTable/stable; user: admin WARN admin 457x847x1 714lhk 10.228.166.49,172.50.0.2 /rest/issueNav/1/issueTable/stable [c.r.j.p.i.s.j.customfield.util.CustomFieldVMUtils] Failed to extract fieldConfigId from request java.lang.NullPointerException: Cannot load from object array because the return value of "java.util.Map.get(Object)" is null at com.riadalabs.jira.plugins.insight.services.jira.customfield.util.CustomFieldVMUtils.extractFieldConfigIdFromRequest(CustomFieldVMUtils.java:105) at com.riadalabs.jira.plugins.insight.services.jira.customfield.util.CustomFieldVMUtils.getCustomFieldConnectBean(CustomFieldVMUtils.java:78) at com.riadalabs.jira.plugins.insight.services.jira.customfield.util.CustomFieldVMUtils.isMultiple(CustomFieldVMUtils.java:125) at com.riadalabs.jira.plugins.insight.services.jira.customfield.DefaultObjectCustomField.getVelocityParameters(DefaultObjectCustomField.java:203)
In certain scenarios, printing those many NPEs along with the stack trace may cause disk I/O bottleneck causing Jira issue search (JQL) performance to slow down.
Steps to Reproduce
- Create a Project context for Assets Object custom field for ex. Affected Business Service
- (the problem reproduces even with 1 project in context)
- Search for Issues and go to the List View and add the Affected Business Service CF in the columns
- Search for issues with any random JQL
- The JQL itself or the resulting issues doesn't have to include or have a value for the Assets CF
Expected Results
No errors are recorded in the logs or if the array returned on extractFieldConfigIdFromRequest method, they're properly handled without causing excessive logging
Actual Results
- atlassian-jira.log is spammed with the following NPE:
2024-12-04 07:37:01,161+0000 http-nio-8080-exec-23 url: /jsm/rest/issueNav/1/issueTable/stable; user: admin WARN admin 457x847x1 714lhk 1.1.1.1,2.2.2.2 /rest/issueNav/1/issueTable/stable [c.r.j.p.i.s.j.customfield.util.CustomFieldVMUtils] Failed to extract fieldConfigId from request java.lang.NullPointerException: Cannot load from object array because the return value of "java.util.Map.get(Object)" is null at com.riadalabs.jira.plugins.insight.services.jira.customfield.util.CustomFieldVMUtils.extractFieldConfigIdFromRequest(CustomFieldVMUtils.java:105) at com.riadalabs.jira.plugins.insight.services.jira.customfield.util.CustomFieldVMUtils.getCustomFieldConnectBean(CustomFieldVMUtils.java:78) at com.riadalabs.jira.plugins.insight.services.jira.customfield.util.CustomFieldVMUtils.isMultiple(CustomFieldVMUtils.java:125) at com.riadalabs.jira.plugins.insight.services.jira.customfield.DefaultObjectCustomField.getVelocityParameters(DefaultObjectCustomField.java:203)
The number of times this NPE is printed along with the stack trace seems to be dependent on the number of issues returned and the number of Assets CF with project context. In certain scenarios, these incessant logging can cause disk pressure causing issue search performance to be severely impacted.
Workaround
- (Preferred) Add this package com.riadalabs.jira.plugins.insight.services.jira.customfield.util within logging level OFF
Note: This custom logging is stored in heap and hence will be lost on restart/upgrade - please make sure to add it back to OFF post restart until a permanent fix is made available
- Alternatively, you can make this custom logging persist (until a fix) through jira restarts by following the instructions: make logging changes persist through node restarts
- Or, Remove the Assets CF with any project context (non-global) from the Columns dropdown in the Issue search's List View
- Or, Switch to the Detail View - as it's not populating columns, even having the Assets CF in context doesn't seem to cause the NullPointerExceptions in the logs
- Or, Change the context of the Assets CF to Global
Versions Tested
Please confirm all versions that have been tested for this issue, and indicate whether the tested version is affected or not affected, below:
Testing Requirements | Version | Affected Version |
---|---|---|
Customers Reported Version | JSM 5.12.13 | Yes |
Most Recent Bug-Fix Release | ||
Previous Major Release | ||
Most Recent LTS | ||
Previous Supported LTS | ||
Other Versions.. | ||
(Add rows as needed) |
- links to
[JSDSERVER-15717] Assets CF with project Context causes NullPointerException in logs and may cause JQL issue search performance degradation [Regression of JSDSERVER-15428]
Resolution | New: Fixed [ 1 ] | |
Status | Original: Waiting for Release [ 12075 ] | New: Closed [ 6 ] |
UIS | Original: 79 | New: 90 |
Fix Version/s | New: 10.4.0 [ 110312 ] | |
Fix Version/s | New: 10.3.2 [ 110306 ] | |
Fix Version/s | New: 5.12.17 [ 110203 ] |
Assignee | New: Bartosz Ornatowski [ bornatowski ] |
Status | Original: In Progress [ 3 ] | New: Waiting for Release [ 12075 ] |
Status | Original: Short Term Backlog [ 12074 ] | New: In Progress [ 3 ] |
Support reference count | Original: 6 | New: 7 |
UIS | Original: 75 | New: 79 |
Status | Original: Needs Triage [ 10030 ] | New: Short Term Backlog [ 12074 ] |
UIS | Original: 71 | New: 75 |