Getting error message stating 'Something went wrong' when attempting to update a Plan within Advanced Roadmaps for Jira

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

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

When trying to update a Plan Scenario within Advanced Roadmaps for Jira by updating any of the target dates for example within the Plan interface, the user is receiving an error message stating 'Something went wrong'.  


 

Environment

Jira Data Center 9 and higher

Diagnosis

Within the atlassian-jira.log file when replicating the issue will throw an error like this, however it might differ slightly based on your database platform: 

2023-07-26 16:18:57,858-0500 https-jsse-nio-8443-exec-69 ERROR user 978x8523652x2 xxxxx 11.2.333.4 /rest/jpo/1.0/scenarios/updateIssues [c.a.r.c.r.provider.exception.DefaultExceptionMapper] com.querydsl.core.QueryException: Caught SQLIntegrityConstraintViolationException for insert into "AO_D9132D_SCENARIO_ISSUES" ("SCENARIO_ID", "ITEM_KEY", "C_KEY", "LAST_CHANGE_TIMESTAMP", "LAST_CHANGE_USER", "TITLE", "TITLE_CHANGED", "DESCRIPTION", "DESCRIPTION_CHANGED", "TIME_ESTIMATE", "TIME_ESTIMATE_CHANGED", "STORY_POINTS_ESTIMATE", "STORY_POINTS_ESTIMATE_CHANGED", "TEAM_KEY", "TEAM_ID_CHANGED", "PARENT_ID", "PARENT_ID_CHANGED", "LATER_RELEASE", "LATER_RELEASE_CHANGED", "VERSION_ID", "VERSION_ID_CHANGED", "PROJECT_ID", "PROJECT_ID_CHANGED", "TYPE_ID", "TYPE_ID_CHANGED", "STATUS_ID", "STATUS_ID_CHANGED", "THEME_ID", "THEME_ID_CHANGED", "SPRINT_ID", "SPRINT_ID_CHANGED", "EARLIEST_START", "EARLIEST_START_CHANGED", "RESOURCES_CHANGED", "COMPONENTS_CHANGED", "LABELS_CHANGED", "DISTRIBUTION_CHANGED", "ORIG_DIST_CHANGED", "ORIG_TIME_ESTIMATE", "ORIG_TIME_ESTIMATE_CHANGED", "ORIG_STPTS_ESTIMATE", "ORIG_STPTS_ESTIMATE_CHANGED", "BSLN_EARLIEST_START", "BSLN_EARLIEST_START_CHANGED", "BASELINE_END", "BASELINE_END_CHANGED", "DUE_DATE", "DUE_DATE_CHANGED", "ASSIGNEE_ID", "ASSIGNEE_ID_CHANGED", "PRIORITY_ID", "PRIORITY_ID_CHANGED", "SCENARIO_TYPE") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
com.atlassian.rm.common.basics.persistence.PersistenceException: com.querydsl.core.QueryException: Caught SQLIntegrityConstraintViolationException for insert into "AO_D9132D_SCENARIO_ISSUES" ("SCENARIO_ID", "ITEM_KEY", "C_KEY", "LAST_CHANGE_TIMESTAMP", "LAST_CHANGE_USER", "TITLE", "TITLE_CHANGED", "DESCRIPTION", "DESCRIPTION_CHANGED", "TIME_ESTIMATE", "TIME_ESTIMATE_CHANGED", "STORY_POINTS_ESTIMATE", "STORY_POINTS_ESTIMATE_CHANGED", "TEAM_KEY", "TEAM_ID_CHANGED", "PARENT_ID", "PARENT_ID_CHANGED", "LATER_RELEASE", "LATER_RELEASE_CHANGED", "VERSION_ID", "VERSION_ID_CHANGED", "PROJECT_ID", "PROJECT_ID_CHANGED", "TYPE_ID", "TYPE_ID_CHANGED", "STATUS_ID", "STATUS_ID_CHANGED", "THEME_ID", "THEME_ID_CHANGED", "SPRINT_ID", "SPRINT_ID_CHANGED", "EARLIEST_START", "EARLIEST_START_CHANGED", "RESOURCES_CHANGED", "COMPONENTS_CHANGED", "LABELS_CHANGED", "DISTRIBUTION_CHANGED", "ORIG_DIST_CHANGED", "ORIG_TIME_ESTIMATE", "ORIG_TIME_ESTIMATE_CHANGED", "ORIG_STPTS_ESTIMATE", "ORIG_STPTS_ESTIMATE_CHANGED", "BSLN_EARLIEST_START", "BSLN_EARLIEST_START_CHANGED", "BASELINE_END", "BASELINE_END_CHANGED", "DUE_DATE", "DUE_DATE_CHANGED", "ASSIGNEE_ID", "ASSIGNEE_ID_CHANGED", "PRIORITY_ID", "PRIORITY_ID_CHANGED", "SCENARIO_TYPE") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
	at com.atlassian.rm.jpo.core.scenario.common.sql.ScenarioModifyPersistence.update(ScenarioModifyPersistence.java:343)
	at com.atlassian.rm.jpo.core.scenario.issue.sql.QueryDslScenarioIssueModifyPersistence.update(QueryDslScenarioIssueModifyPersistence.java:160)
	at com.atlassian.rm.jpo.core.scenario.issue.sql.DefaultScenarioIssuePersistence.update(DefaultScenarioIssuePersistence.java:86)
	at com.atlassian.rm.jpo.core.scenario.issue.DefaultScenarioIssueService.doUpdate(DefaultScenarioIssueService.java:158)
	at com.atlassian.rm.jpo.core.scenario.issue.DefaultScenarioIssueService.access$100(DefaultScenarioIssueService.java:25)
	at com.atlassian.rm.jpo.core.scenario.issue.DefaultScenarioIssueService$2$1.perform(DefaultScenarioIssueService.java:140)
	at com.atlassian.rm.jpo.core.scenario.issue.DefaultScenarioIssueService$2$1.perform(DefaultScenarioIssueService.java:134)
	at com.atlassian.rm.common.persistence.transaction.Registry.run(Registry.java:35)
	at com.atlassian.rm.jpo.core.scenario.issue.DefaultScenarioIssueService$2.apply(DefaultScenarioIssueService.java:134)
	at com.atlassian.rm.jpo.core.scenario.issue.DefaultScenarioIssueService$2.apply(DefaultScenarioIssueService.java:127)
	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inTransaction(TransactionHandler.java:111)
	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inNewTransaction(TransactionHandler.java:99)
	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inNewTransaction(TransactionHandler.java:89)
	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.lambda$inDatabaseTransaction$3(TransactionHandler.java:69)
	at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.lambda$run$0(DefaultDatabaseProvider.java:24)
	at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.lambda$execute$0(JiraDatabaseProvider.java:34)
	at com.atlassian.rm.common.bridges.jira.persistence.JiraDatabaseProviderBridgeImpl.execute(JiraDatabaseProviderBridgeImpl.java:59)
	at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.execute(JiraDatabaseProvider.java:34)
	at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.run(DefaultDatabaseProvider.java:24)
	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inDatabaseTransaction(TransactionHandler.java:68)
	at com.atlassian.rm.jpo.core.scenario.issue.DefaultScenarioIssueService.update(DefaultScenarioIssueService.java:127)
	at com.atlassian.rm.jpo.core.scenario.DefaultScenarioService.update(DefaultScenarioService.java:63)
	at com.atlassian.rm.jpo.rest.service.scenario.ScenarioRestEndpoint.updateIssues(ScenarioRestEndpoint.java:196)
	... 2 filtered
	at java.lang.reflect.Method.invoke(Method.java:498)
	... 8 filtered
	at com.atlassian.rm.common.rest.mau.MauTrackingDispatcher.dispatch(MauTrackingDispatcher.java:28)
	at com.atlassian.rm.common.rest.permissions.AnnotationPermissionDispatcher.dispatch(AnnotationPermissionDispatcher.java:49)
	at com.atlassian.rm.common.rest.scope.RequestOperationScopeDispatcher.dispatch(RequestOperationScopeDispatcher.java:25)
	... 11 filtered
	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:171)
	... 1 filtered
	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:75)
	... 36 filtered
	at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59)
	... 4 filtered
	at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
	... 3 filtered
	at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:54)
	... 8 filtered
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
	... 43 filtered
	at com.atlassian.oauth2.scopes.web.ReadWriteScopeFilter.doFilter(ReadWriteScopeFilter.java:46)
	... 3 filtered
	at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73)
	... 3 filtered
	at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
	... 17 filtered
	at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
	... 1 filtered
	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
	... 16 filtered
	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:38)
	... 3 filtered
	at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82)
	... 3 filtered
	at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:81)
	... 19 filtered
	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
	... 5 filtered
	at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
	... 8 filtered
	at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71)
	... 3 filtered
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
	... 4 filtered
	at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
	... 3 filtered
	at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
	... 26 filtered
	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
	... 25 filtered
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: com.querydsl.core.QueryException: Caught SQLIntegrityConstraintViolationException for insert into "AO_D9132D_SCENARIO_ISSUES" ("SCENARIO_ID", "ITEM_KEY", "C_KEY", "LAST_CHANGE_TIMESTAMP", "LAST_CHANGE_USER", "TITLE", "TITLE_CHANGED", "DESCRIPTION", "DESCRIPTION_CHANGED", "TIME_ESTIMATE", "TIME_ESTIMATE_CHANGED", "STORY_POINTS_ESTIMATE", "STORY_POINTS_ESTIMATE_CHANGED", "TEAM_KEY", "TEAM_ID_CHANGED", "PARENT_ID", "PARENT_ID_CHANGED", "LATER_RELEASE", "LATER_RELEASE_CHANGED", "VERSION_ID", "VERSION_ID_CHANGED", "PROJECT_ID", "PROJECT_ID_CHANGED", "TYPE_ID", "TYPE_ID_CHANGED", "STATUS_ID", "STATUS_ID_CHANGED", "THEME_ID", "THEME_ID_CHANGED", "SPRINT_ID", "SPRINT_ID_CHANGED", "EARLIEST_START", "EARLIEST_START_CHANGED", "RESOURCES_CHANGED", "COMPONENTS_CHANGED", "LABELS_CHANGED", "DISTRIBUTION_CHANGED", "ORIG_DIST_CHANGED", "ORIG_TIME_ESTIMATE", "ORIG_TIME_ESTIMATE_CHANGED", "ORIG_STPTS_ESTIMATE", "ORIG_STPTS_ESTIMATE_CHANGED", "BSLN_EARLIEST_START", "BSLN_EARLIEST_START_CHANGED", "BASELINE_END", "BASELINE_END_CHANGED", "DUE_DATE", "DUE_DATE_CHANGED", "ASSIGNEE_ID", "ASSIGNEE_ID_CHANGED", "PRIORITY_ID", "PRIORITY_ID_CHANGED", "SCENARIO_TYPE") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
	at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50)
	at com.querydsl.sql.Configuration.translate(Configuration.java:453)
	at com.querydsl.sql.dml.SQLInsertClause.execute(SQLInsertClause.java:396)
	at com.atlassian.rm.jpo.core.common.sql.upsert.DefaultSQLClauseExecutor.execute(DefaultSQLClauseExecutor.java:10)
	at com.atlassian.rm.jpo.core.common.sql.upsert.SQLUpsertClause.executeWithFallback(SQLUpsertClause.java:158)
	at com.atlassian.rm.jpo.core.common.sql.BatchUpsertClause.execute(BatchUpsertClause.java:83)
	at com.atlassian.rm.jpo.core.scenario.common.sql.ScenarioModifyPersistence.update(ScenarioModifyPersistence.java:322)
	... 306 more
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("jiradb"."AO_D9132D_SCENARIO_ISSUES"."ID")

	at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)
	at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)
	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550)
	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)
	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270)
	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:91)
	at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1205)
	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666)
	at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426)
	at oracle.jdbc.driver.OraclePreparedStatement.executeLargeUpdate(OraclePreparedStatement.java:3756)
	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3736)
	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1063)
	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:98)
	at com.atlassian.jira.ofbiz.sql.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:47)
	at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.lambda$executeUpdate$7(DiagnosticPreparedStatement.java:69)
	at com.atlassian.diagnostics.internal.platform.monitor.db.DefaultDatabaseDiagnosticsCollector.recordExecutionTime(DefaultDatabaseDiagnosticsCollector.java:91)
	at com.atlassian.jira.diagnostic.connection.DatabaseDiagnosticsCollectorDelegate.recordExecutionTime(DatabaseDiagnosticsCollectorDelegate.java:62)
	at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.executeUpdate(DiagnosticPreparedStatement.java:69)
	at com.querydsl.sql.dml.SQLInsertClause.execute(SQLInsertClause.java:382)
	... 311 more
Caused by: Error : 1400, Position : 0, Sql = insert into "AO_D9132D_SCENARIO_ISSUES" ("SCENARIO_ID", "ITEM_KEY", "C_KEY", "LAST_CHANGE_TIMESTAMP", "LAST_CHANGE_USER", "TITLE", "TITLE_CHANGED", "DESCRIPTION", "DESCRIPTION_CHANGED", "TIME_ESTIMATE", "TIME_ESTIMATE_CHANGED", "STORY_POINTS_ESTIMATE", "STORY_POINTS_ESTIMATE_CHANGED", "TEAM_KEY", "TEAM_ID_CHANGED", "PARENT_ID", "PARENT_ID_CHANGED", "LATER_RELEASE", "LATER_RELEASE_CHANGED", "VERSION_ID", "VERSION_ID_CHANGED", "PROJECT_ID", "PROJECT_ID_CHANGED", "TYPE_ID", "TYPE_ID_CHANGED", "STATUS_ID", "STATUS_ID_CHANGED", "THEME_ID", "THEME_ID_CHANGED", "SPRINT_ID", "SPRINT_ID_CHANGED", "EARLIEST_START", "EARLIEST_START_CHANGED", "RESOURCES_CHANGED", "COMPONENTS_CHANGED", "LABELS_CHANGED", "DISTRIBUTION_CHANGED", "ORIG_DIST_CHANGED", "ORIG_TIME_ESTIMATE", "ORIG_TIME_ESTIMATE_CHANGED", "ORIG_STPTS_ESTIMATE", "ORIG_STPTS_ESTIMATE_CHANGED", "BSLN_EARLIEST_START", "BSLN_EARLIEST_START_CHANGED", "BASELINE_END", "BASELINE_END_CHANGED", "DUE_DATE", "DUE_DATE_CHANGED", "ASSIGNEE_ID", "ASSIGNEE_ID_CHANGED", "PRIORITY_ID", "PRIORITY_ID_CHANGED", "SCENARIO_TYPE") values (:1 , :2 , :3 , :4 , :5 , :6 , :7 , :8 , :9 , :10 , :11 , :12 , :13 , :14 , :15 , :16 , :17 , :18 , :19 , :20 , :21 , :22 , :23 , :24 , :25 , :26 , :27 , :28 , :29 , :30 , :31 , :32 , :33 , :34 , :35 , :36 , :37 , :38 , :39 , :40 , :41 , :42 , :43 , :44 , :45 , :46 , :47 , :48 , :49 , :50 , :51 , :52 , :53 ), OriginalSql = insert into "AO_D9132D_SCENARIO_ISSUES" ("SCENARIO_ID", "ITEM_KEY", "C_KEY", "LAST_CHANGE_TIMESTAMP", "LAST_CHANGE_USER", "TITLE", "TITLE_CHANGED", "DESCRIPTION", "DESCRIPTION_CHANGED", "TIME_ESTIMATE", "TIME_ESTIMATE_CHANGED", "STORY_POINTS_ESTIMATE", "STORY_POINTS_ESTIMATE_CHANGED", "TEAM_KEY", "TEAM_ID_CHANGED", "PARENT_ID", "PARENT_ID_CHANGED", "LATER_RELEASE", "LATER_RELEASE_CHANGED", "VERSION_ID", "VERSION_ID_CHANGED", "PROJECT_ID", "PROJECT_ID_CHANGED", "TYPE_ID", "TYPE_ID_CHANGED", "STATUS_ID", "STATUS_ID_CHANGED", "THEME_ID", "THEME_ID_CHANGED", "SPRINT_ID", "SPRINT_ID_CHANGED", "EARLIEST_START", "EARLIEST_START_CHANGED", "RESOURCES_CHANGED", "COMPONENTS_CHANGED", "LABELS_CHANGED", "DISTRIBUTION_CHANGED", "ORIG_DIST_CHANGED", "ORIG_TIME_ESTIMATE", "ORIG_TIME_ESTIMATE_CHANGED", "ORIG_STPTS_ESTIMATE", "ORIG_STPTS_ESTIMATE_CHANGED", "BSLN_EARLIEST_START", "BSLN_EARLIEST_START_CHANGED", "BASELINE_END", "BASELINE_END_CHANGED", "DUE_DATE", "DUE_DATE_CHANGED", "ASSIGNEE_ID", "ASSIGNEE_ID_CHANGED", "PRIORITY_ID", "PRIORITY_ID_CHANGED", "SCENARIO_TYPE") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), Error Msg = ORA-01400: cannot insert NULL into ("jiradb"."AO_D9132D_SCENARIO_ISSUES"."ID")

	at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)
	... 333 more

(warning) The sequence and trigger names might be different in different database and database platforms, so it is best to work with your Database Administrator to confirm if the sequence or trigger is missing from this table.  

Cause


This exception indicates that the trigger and or sequence used to populate the primary key value within the AO_D9132D_SCENARIO_ISSUES table is missing.  The ID column is a primary key and should be auto incremented by the database.  It cannot be null, but Jira doesn't know what value to send in the query since this should be populated based on a database trigger and the next value from the sequence in the database.  If that trigger or sequence does not exist, the database will throw an error since that ID value will be null.   

It is not certain what could cause the sequence or trigger not to be created.  Jira will create these items when the database is first created, however it is possible if there are database restores performed or manual database modification that these items could become corrupt or deleted.  

Solution

If the sequence or the trigger are missing they will need to be manually recreated.  To create this sequence or trigger, the steps will be different on different database platforms, however your Database Administrator should be able to script creating the trigger and sequence.  If you have a working test environment (or could stand up a working test environment) you can also use that database as a template.  But basically these items need to achieve the following: 

  • The trigger should run whenever a new row is inserted into the table.  
  • It will need to go to the sequence to get the next value that should be used for the ID column and use that when the actual insert is performed (along with the other data).  
  • The sequence needs to be created such that the next value will be 1 higher than the highest value currently existing within the database table.  This way when the next row is inserted, the sequence will not return a number that has already been used since the ID must be unique and non null.  




Last modified on Sep 5, 2023

Was this helpful?

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