Re-index fail due to timestamp conversion issue

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

JIRA is using MySQL as database and while attempting to execute the re-index, this error is shown on the screen:

Also, the following appears in the atlassian-jira.log:

2013-02-24 19:07:32,477 indexerPool-1-thread-5 WARN [index.indexers.impl.DefaultCustomFieldIndexer] An exception thrown getting the custom field value for indexing. Value for 'customfield_10173' (Server Type) not indexed.
com.atlassian.jira.exception.DataAccessException: org.ofbiz.core.entity.GenericEntityException: Error creating GenericValue (SQL Exception while getting value: (Cannot convert value '0000-00-00 00:00:00' from column 15 to TIMESTAMP.))
...

Cause

MySQL uses "zero dates" as special placeholder, but JDBC can not handle them by default.

Resolution

  1. Shutdown JIRA;
  2. Add the 'zeroDateTimeBehavior=convertToNull' property to the JDBC url, either in datasource URL if using JNDI location or as an additional parameter to the JDBC url at the dbconfig.xml. The JDBC url will then look like this example:

    jdbc:mysql://localhost:3306/jira?useUnicode=true&characterEncoding=UTF8&sessionVariables=storage_engine=InnoDB?zeroDateTimeBehavior=convertToNull
  3. Restart JIRA;

  4. Manually trigger a re-index.
Last modified on Apr 7, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.