"We couldn't create your service project" error in Jira Data Center

Platform Notice: Data Center Only - This article only applies to Atlassian apps 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

When you attempt to create a new Service project in Jira Data Center, you receive the error "Hmm... we couldn't create your project due to an unknown error. Try refreshing the page to start again."

Cause

As described in PostgreSQL JDBC: Initializing the Driver, the reWriteBatchedInserts will amalgamate batched INSERT database statements into a single statement. While this may yield a mild performance benefit in a few cases, it causes the PostgreSQL JDBC driver to return an incorrect (negative) inserted row count in the response.

Aside from being untested/unsupported, Jira relies on this row count to validate the success of particular operations. This will noticeably cause JSM to fail to initialize the default request type entities during project creation.

Environment

Any supported Jira Data Center version using PostgreSQL.

Reproduction steps

  1. Append the reWriteBatchedInserts=true parameter to the <url> in the dbconfig.xml (Connecting Jira applications to PostgreSQL).

    • For example: <url>jdbc:postgresql://host:5432/jiradb?reWriteBatchedInserts=true</url>

  2. Restart Jira.

  3. Attempt to create a new service project.

The following error will appear in the atlassian-jira.log:

2025-08-20 14:00:00,000+0000 http-nio-8080-exec-1 ERROR charlie 1x1x1 abcdef 0.0.0.0 /rest/project-templates/1.0/templates [c.a.j.p.ProjectCreateRegistrarImpl] The handler with id com.atlassian.jira.project-templates-plugin:apply-project-template-handler threw an exception while handling a notification about a project being created java.lang.RuntimeException: did not add all mappings correctly at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.status.RequestTypeStatusQStore.createMappings(RequestTypeStatusQStore.java:55) ~[?:?] at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.status.RequestTypeStatusQStore.lambda$storeStatusMappings$1(RequestTypeStatusQStore.java:40) ~[?:?] [...] at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67) ~[?:?] at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:43) ~[?:?] at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.status.RequestTypeStatusQStore.storeStatusMappings(RequestTypeStatusQStore.java:38) ~[?:?] at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.status.RequestStatusManagerImpl.lambda$createStatusMapping$5(RequestStatusManagerImpl.java:78) ~[?:?] at io.atlassian.fugue.Either$AbstractProjection.forEach(Either.java:751) ~[fugue-6.1.2.jar:?] at io.atlassian.fugue.Either.forEach(Either.java:292) ~[fugue-6.1.2.jar:?] at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.status.RequestStatusManagerImpl.createStatusMapping(RequestStatusManagerImpl.java:78) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedRequestTypeCreationService.createStatusMapping(GettingStartedRequestTypeCreationService.java:529) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedRequestTypeCreationService.lambda$createAndConfigureRequestType$11(GettingStartedRequestTypeCreationService.java:515) ~[?:?] at io.atlassian.fugue.Either$RightProjection.flatMap(Either.java:953) ~[fugue-6.1.2.jar:?] at io.atlassian.fugue.Either.flatMap(Either.java:231) ~[fugue-6.1.2.jar:?] at com.atlassian.pocketknife.step.EitherStep1.then(EitherStep1.java:18) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedRequestTypeCreationService.createAndConfigureRequestType(GettingStartedRequestTypeCreationService.java:515) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedRequestTypeCreationService.createTypes(GettingStartedRequestTypeCreationService.java:122) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedRequestTypeCreationService.lambda$createRequestTypesForNewProject$0(GettingStartedRequestTypeCreationService.java:113) ~[?:?] at com.atlassian.servicedesk.internal.api.util.fp.InternalFpKit.collectWhileRight(InternalFpKit.java:151) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedRequestTypeCreationService.createRequestTypesForNewProject(GettingStartedRequestTypeCreationService.java:113) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedService.createRequestTypes(GettingStartedService.java:404) ~[?:?] at com.atlassian.servicedesk.internal.feature.gettingstarted.GettingStartedService.createServiceDeskForEmptyProject(GettingStartedService.java:218) ~[?:?] at com.atlassian.servicedesk.internal.project.ServiceDeskProjectConfigurator.callGettingStartedServiceToCreateServiceDesk(ServiceDeskProjectConfigurator.java:74) ~[?:?] at com.atlassian.servicedesk.internal.project.ServiceDeskProjectConfigurator.lambda$configure$0(ServiceDeskProjectConfigurator.java:57) ~[?:?] at io.atlassian.fugue.Either$RightProjection.flatMap(Either.java:953) ~[fugue-6.1.2.jar:?] at io.atlassian.fugue.Either.flatMap(Either.java:231) ~[fugue-6.1.2.jar:?] at com.atlassian.pocketknife.step.EitherStep1.then(EitherStep1.java:18) ~[?:?] at com.atlassian.servicedesk.internal.project.ServiceDeskProjectConfigurator.configure(ServiceDeskProjectConfigurator.java:56) ~[?:?] at com.atlassian.servicedesk.internal.project.template.hook.BasicServiceDeskAddProjectHook.configure(BasicServiceDeskAddProjectHook.java:16) ~[?:?] at com.atlassian.jira.projecttemplates.service.ApplyProjectTemplateHandler.applyProjectTemplate(ApplyProjectTemplateHandler.java:65) ~[?:?] at com.atlassian.jira.projecttemplates.service.ApplyProjectTemplateHandler.onProjectCreated(ApplyProjectTemplateHandler.java:53) ~[?:?] at com.atlassian.jira.project.ProjectCreateRegistrarImpl.notifyAllHandlers(ProjectCreateRegistrarImpl.java:35) ~[classes/:?] at com.atlassian.jira.bc.project.DefaultProjectService.notifyHandlersOfProjectCreated(DefaultProjectService.java:395) ~[classes/:?] at com.atlassian.jira.bc.project.DefaultProjectService.createProjectInternal(DefaultProjectService.java:380) ~[classes/:?] at com.atlassian.jira.bc.project.DefaultProjectService.createProject(DefaultProjectService.java:350) ~[classes/:?] [...] at com.atlassian.jira.projecttemplates.service.ProjectTemplateServiceImpl.applyProjectTemplate(ProjectTemplateServiceImpl.java:173) ~[?:?] at com.atlassian.jira.projecttemplates.rest.ProjectTemplatesResource.createProjectFromFormRequest(ProjectTemplatesResource.java:173) ~[?:?]

Solution

  1. Remove the reWriteBatchedInserts=true parameter from the <url> in the dbconfig.xml.

    • For example: <url>jdbc:postgresql://host:5432/jiradb</url>

  2. Restart Jira (rolling restart is sufficient).

Updated on November 4, 2025

Still need help?

The Atlassian Community is here for you.