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:

(Auto-migrated image: description temporarily unavailable)

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.

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.