Jira Server or Data Center logs spammed with java.lang.NoSuchMethodError: 'void org.ofbiz.core.entity.jdbc.SQLProcessor.prepareStatement(java.lang.String)' error

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

In the application-jira.log, Jira is getting spam with the following error message:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2023-07-27 09:33:23,873+0200 automation-rule-executor:thread-6 ERROR xxxxx [c.a.j.e.charting.field.AbstractSingleDateDAO] java.lang.NoSuchMethodError: 'void org.ofbiz.core.entity.jdbc.SQLProcessor.prepareStatement(java.lang.String)' java.lang.NoSuchMethodError: 'void org.ofbiz.core.entity.jdbc.SQLProcessor.prepareStatement(java.lang.String)' at com.atlassian.jira.ext.charting.field.AbstractSingleDateDAO.calculateDate(AbstractSingleDateDAO.java:54) at com.atlassian.jira.ext.charting.field.DateOfFirstResponseCFType.calculateFirstResponseDate(DateOfFirstResponseCFType.java:77) at com.atlassian.jira.ext.charting.field.DateOfFirstResponseCFType.getJsonFromIssue(DateOfFirstResponseCFType.java:93) at com.atlassian.jira.issue.fields.ImmutableCustomField.getJsonFromIssue(ImmutableCustomField.java:1896) at com.atlassian.jira.rest.v2.issue.IssueBeanBuilder2.getRepresentationForFields(IssueBeanBuilder2.java:245) at com.atlassian.jira.rest.v2.issue.IssueBeanBuilder2.lambda$createFieldsDataFromOrderable$3(IssueBeanBuilder2.java:232) at io.atlassian.fugue.Iterables$CollectingIterable$Iter.computeNext(Iterables.java:604) at io.atlassian.fugue.Iterators$Abstract.tryToComputeNext(Iterators.java:284) at io.atlassian.fugue.Iterators$Abstract.hasNext(Iterators.java:278) at com.google.common.collect.Iterators.addAll(Iterators.java:366) at com.google.common.collect.Lists.newArrayList(Lists.java:147) at com.google.common.collect.Lists.newArrayList(Lists.java:133) at com.atlassian.jira.rest.v2.issue.IssueBeanBuilder2.createFieldsData(IssueBeanBuilder2.java:201) at com.atlassian.jira.rest.v2.issue.IssueBeanBuilder2.build(IssueBeanBuilder2.java:145) at com.atlassian.jira.rest.v2.issue.IssueBeanBuilder.build(IssueBeanBuilder.java:63) at com.codebarrel.jira.transform.IssueBeanTransformer.toJiraIssueBean(IssueBeanTransformer.java:136) at com.codebarrel.jira.transform.IssueBeanTransformer.toIssue(IssueBeanTransformer.java:117) at com.codebarrel.jira.transform.IssueBeanTransformer.apply(IssueBeanTransformer.java:111) at com.codebarrel.jira.transform.IssueBeanTransformer.apply(IssueBeanTransformer.java:107) at com.codebarrel.jira.transform.IssueBeanTransformer.apply(IssueBeanTransformer.java:57)

Environment

Jira Sofware Data Center 9.8.1

Diagnosis

Run the unix command to search how many errors were spamming per log:

1 grep -i "void org.ofbiz.core.entity.jdbc.SQLProcessor.prepareStatement" $JIRA-HOME/log/atlassian-jira.log* -wc

Example output:

1 2 3 4 5 6 7 8 9 10 11 atlassian-jira.log:4382 atlassian-jira.log.1:4382 atlassian-jira.log.10:4382 atlassian-jira.log.2:4778 atlassian-jira.log.3:4596 atlassian-jira.log.4:5110 atlassian-jira.log.5:3938 atlassian-jira.log.6:3838 atlassian-jira.log.7:4300 atlassian-jira.log.8:4270 atlassian-jira.log.9:3936
  • Check if you have Jira Charting plugin installed via Manage Apps page. If yes, you can see UPM flag the plugin status as NOT DATA CENTER APPROVED according to Check if an app has a Data Center version link.

Cause

Most of the source errors were coming from the Jira Charting Plugin method (c.a.j.e.charting.field.AbstractSingleDateDAO). Prior to version 4.0.1, this plugin was unsafe for use in Data Center environments as it could cause a deadlock in the database when multiple nodes attempted to update custom field values at the same time:

Solution

Update the Jira Charting Plugin to version 4.0.1 or later (note that this requires Jira 9.6.0 or later). If this isn't possible, disable the Jira Charting plugin and run the same unix command again the following day to validate the spamming errors.

Updated on March 19, 2025

Still need help?

The Atlassian Community is here for you.