Sprint Marker Migration Fails after Upgrade due to invalid number 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
Problem
After upgrading JIRA Agile, some rapid board backlogs are not accessible. An error similar to the one below is displayed:

The following appears in the atlassian-jira.log
1
2
3
4
5
6
7
8
9
10
11
12
2015-06-18 14:01:22,465 JiraTaskExectionThread-1 ERROR admin 841x1965x1 josoa4 192.168.10.68 /rest/greenhopper/1.0/migration/sprintmarkers [service.migration.sprintmarker.SprintMarkerMigrationTask] 'EpicName' is an invalid number
com.atlassian.jira.issue.customfields.impl.FieldValidationException: 'EpicName' is an invalid number
at com.atlassian.jira.issue.customfields.converters.DoubleConverterImpl.getDouble(DoubleConverterImpl.java:107)
at com.atlassian.jira.jql.query.AbstractNumberOperatorQueryFactory.getIndexValues(AbstractNumberOperatorQueryFactory.java:42)
at com.atlassian.jira.jql.query.NumberEqualityQueryFactory.createResult(NumberEqualityQueryFactory.java:117)
at com.atlassian.jira.jql.query.NumberEqualityQueryFactory.createQueryForMultipleValues(NumberEqualityQueryFactory.java:77)
at com.atlassian.jira.jql.query.GenericClauseQueryFactory.getQuery(GenericClauseQueryFactory.java:68)
at com.atlassian.jira.jql.query.NumberCustomFieldClauseQueryFactory.getQuery(NumberCustomFieldClauseQueryFactory.java:35)
at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:123)
at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:29)
at com.atlassian.query.clause.TerminalClauseImpl.accept(TerminalClauseImpl.java:162)
(...)
Diagnosis
Diagnostic Steps
According to the error in the log excerpt above:
JIRA is trying to convert a custom field value ('EpicName') to a number but is unable to.
This exception is happening while trying to parse a JQL query (the board filters).
Using the SQL query below, you may find all JQL filters referencing with the 'EpicName' string value mentioned in the error:
Query 1
1
2
SELECT * FROM searchrequest
WHERE reqcontent LIKE '%EpicName%';
Cause
The error is caused by a user custom field named as a JIRA Agile custom field (in this specific case, the Epic Link field).
Using the SQL Query 1 above, you can retrieve the JQL filter and also the custom field referencing the value displayed in the error message:
1
project = "Test Project" AND (Project_Name = PROJX OR "Epic Link" in (EpicName, EpicName2)) AND (...)
Using the SQL query below, we can find all custom fields with the name "Epic Link":
Query 2
1
2
3
SELECT id, customfieldtypekey, cfname
FROM customfield
WHERE cfname = 'Epic Link';
1
2
3
4
5
id | customfieldtypekey | cfname
-------+---------------------------------------------------------+-----------
34572 | com.atlassian.jira.plugin.system.customfieldtypes:float | Epic Link
30772 | com.pyxis.greenhopper.jira:gh-epic-link | Epic Link
(2 rows)
Solution
Resolution
Renaming or deleting the duplicated custom field should resolve the problem.
For more information about how to perform these tasks, please refer to the Configuring a Custom Field document.
Was this helpful?