Could not create subdirectory 'data' of jira.home '<path>'
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
Symptoms
One or more of the nodes fail to start up, when accessing the instance directly, the following message is shown:
Could not create subdirectory 'data' of jira.home '<path>'The following appears in the atlassian-jira.log:
************************************************************************
Could not create subdirectory 'data' of jira.home '/mnt/nfs/jiracommon'.
************************************************************************
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: atlassian-jira.log (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
at com.atlassian.jira.logging.JiraHomeAppender.configureAppender(JiraHomeAppender.java:341)
at com.atlassian.jira.logging.JiraHomeAppender.doAppendSync(JiraHomeAppender.java:267)
at com.atlassian.jira.logging.JiraHomeAppender.doAppend(JiraHomeAppender.java:248)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:838)
at com.atlassian.jira.startup.FormattedLogMsg.printMessageImpl(FormattedLogMsg.java:223)
at com.atlassian.jira.startup.FormattedLogMsg.printMessage(FormattedLogMsg.java:215)
at com.atlassian.jira.startup.JiraStartupLogger.printMessage(JiraStartupLogger.java:60)
at com.atlassian.jira.startup.StartupStateTemplate$CreateStartupChecksResult.call(StartupStateTemplate.java:124)
at com.atlassian.jira.startup.StartupStateTemplate$CreateStartupChecksResult.call(StartupStateTemplate.java:115)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.atlassian.jira.startup.StartupStateTemplate.isStartupChecksPassed(StartupStateTemplate.java:47)
at com.atlassian.jira.startup.JiraStartupChecklist.startupOK(JiraStartupChecklist.java:52)
at com.atlassian.jira.startup.BootstrapContainerLauncher.bootstrapJIRA(BootstrapContainerLauncher.java:52)
at com.atlassian.jira.startup.BootstrapContainerLauncher.start(BootstrapContainerLauncher.java:31)
at com.atlassian.jira.startup.DefaultJiraLauncher.preDbLaunch(DefaultJiraLauncher.java:90)
at com.atlassian.jira.startup.DefaultJiraLauncher.access$000(DefaultJiraLauncher.java:31)
at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:77)
at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:34)
at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:73)
at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:54)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Cause
At the time of starting up the nodes, the shared JIRA home was not accessible from the instance nodes.
Resolution
Verify the connectivity for the shared filesystem, along with the permissions (there should be read/write access from each node, for the user running JIRA on that specific node).
Was this helpful?