Uploaded image for project: 'Jira Cloud'
  1. Jira Cloud
  2. JRACLOUD-24536

JIRA doesn't start up properly if database is being used by another process

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.

      Bring up two JIRA instances pointing to the same jira.home. JIRA doesn't start up properly. It should show the "JIRA Locked" page but it doesn't.

      Logs:

      2011-04-28 16:46:38,169 main FATAL      [atlassian.jira.startup.JiraStartupLogger] 
      
      ********************************************************************************************************************************************************************************************************
      The jira.home directory '/Luis/Workspace/realjira/jira-ide-support/target/jirahome' is already locked. Please see http://docs.atlassian.com/jira/docs-044/How+do+I+unlock+my+JIRA+home+directory%3F?clicked=jirahelp# for more information on locked jira.home directories.
      ********************************************************************************************************************************************************************************************************
      
      2011-04-28 16:46:38,197 main FATAL      [atlassian.jira.startup.JiraStartupLogger] Startup check failed. JIRA will be locked.
      2011-04-28 16:46:39,107 main INFO      [jira.config.database.SystemTenantDatabaseConfigurationLoader] Reading database configuration from /Luis/Workspace/realjira/jira-ide-support/target/jirahome/dbconfig.xml
      2011-04-28 16:46:39,236 main INFO      [jira.config.database.DatabaseConfigurationManagerImpl] Now running Database Checklist Launcher
      2011-04-28 16:46:39,472 main ERROR      [NoModule] Error getting datasource via DBCP.
      java.sql.SQLException: The database is already in use by another process: org.hsqldb.persist.NIOLockFile@fa49b44d[file =/Luis/Workspace/realjira/jira-ide-support/target/jirahome/database/jiradb.lck, exists=true, locked=false, valid=false, fl =null]: 
      	at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
      	at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
      	at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
      	at org.hsqldb.jdbcDriver.connect(Unknown Source)
      	at java.sql.DriverManager.getConnection(DriverManager.java:582)
      	at java.sql.DriverManager.getConnection(DriverManager.java:185)
      	at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:94)
      	at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
      	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:816)
      	at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:140)
      	at org.ofbiz.core.entity.transaction.DBCPConnectionFactory.getConnection(DBCPConnectionFactory.java:96)
      	at org.ofbiz.core.entity.ConnectionFactory.tryGenericConnectionSources(ConnectionFactory.java:69)
      	at org.ofbiz.core.entity.transaction.JNDIFactory.getConnection(JNDIFactory.java:142)
      	at org.ofbiz.core.entity.TransactionFactory.getConnection(TransactionFactory.java:101)
      	at org.ofbiz.core.entity.ConnectionFactory.getConnection(ConnectionFactory.java:59)
      	at com.atlassian.jira.ofbiz.DefaultOfBizConnectionFactory.getConnection(DefaultOfBizConnectionFactory.java:28)
      	at com.atlassian.jira.upgrade.util.UpgradeUtils.tableExists(UpgradeUtils.java:101)
      	at com.atlassian.jira.appconsistency.db.MinimumUpgradableVersionCheck.databaseSetup(MinimumUpgradableVersionCheck.java:49)
      	at com.atlassian.jira.appconsistency.db.MinimumUpgradableVersionCheck.isOk(MinimumUpgradableVersionCheck.java:30)
      	at com.atlassian.jira.startup.JiraDatabaseConfigChecklist.doStartupChecks(JiraDatabaseConfigChecklist.java:65)
      	at com.atlassian.jira.startup.JiraDatabaseConfigChecklist.startupOK(JiraDatabaseConfigChecklist.java:53)
      	at com.atlassian.jira.startup.DatabaseChecklistLauncher.start(DatabaseChecklistLauncher.java:33)
      	at com.atlassian.jira.startup.DefaultJiraLauncher$2.run(DefaultJiraLauncher.java:88)
      	at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrEnqueue(DatabaseConfigurationManagerImpl.java:248)
      	at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrWhenDatabaseConfigured(DatabaseConfigurationManagerImpl.java:153)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.postDbLaunch(DefaultJiraLauncher.java:83)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.access$100(DefaultJiraLauncher.java:24)
      	at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:61)
      	at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:33)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:56)
      	at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:57)
      	at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:52)
      	at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.get(MultiTenantComponentMapImpl.java:121)
      	at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.onTenantStart(MultiTenantComponentMapImpl.java:165)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:134)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:131)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForEachListener(DefaultMultiTenantManager.java:256)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startTenant(DefaultMultiTenantManager.java:130)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startAll(DefaultMultiTenantManager.java:203)
      	at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:85)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
      	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
      	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
      	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
      2011-04-28 16:46:39,497 main ERROR      [atlassian.jira.startup.LauncherContextListener] Unable to start JIRA.
      com.atlassian.jira.exception.DataAccessException: java.sql.SQLException: The database is already in use by another process: org.hsqldb.persist.NIOLockFile@fa49b44d[file =/Luis/Workspace/realjira/jira-ide-support/target/jirahome/database/jiradb.lck, exists=true, locked=false, valid=false, fl =null]: 
      	at com.atlassian.jira.exception.DataAccessException.fillInStackTrace(DataAccessException.java:65531)
      	at java.lang.Throwable.<init>(Throwable.java:181)
      	at java.lang.Exception.<init>(Exception.java:29)
      	at java.lang.RuntimeException.<init>(RuntimeException.java:32)
      	at org.apache.commons.lang.exception.NestableRuntimeException.<init>(NestableRuntimeException.java:81)
      	at com.atlassian.jira.exception.DataAccessException.<init>(DataAccessException.java:19)
      	at com.atlassian.jira.upgrade.util.UpgradeUtils.tableExists(UpgradeUtils.java:128)
      	at com.atlassian.jira.appconsistency.db.MinimumUpgradableVersionCheck.databaseSetup(MinimumUpgradableVersionCheck.java:49)
      	at com.atlassian.jira.appconsistency.db.MinimumUpgradableVersionCheck.isOk(MinimumUpgradableVersionCheck.java:30)
      	at com.atlassian.jira.startup.JiraDatabaseConfigChecklist.doStartupChecks(JiraDatabaseConfigChecklist.java:65)
      	at com.atlassian.jira.startup.JiraDatabaseConfigChecklist.startupOK(JiraDatabaseConfigChecklist.java:53)
      	at com.atlassian.jira.startup.DatabaseChecklistLauncher.start(DatabaseChecklistLauncher.java:33)
      	at com.atlassian.jira.startup.DefaultJiraLauncher$2.run(DefaultJiraLauncher.java:88)
      	at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrEnqueue(DatabaseConfigurationManagerImpl.java:248)
      	at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrWhenDatabaseConfigured(DatabaseConfigurationManagerImpl.java:153)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.postDbLaunch(DefaultJiraLauncher.java:83)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.access$100(DefaultJiraLauncher.java:24)
      	at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:61)
      	at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:33)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:56)
      	at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:57)
      	at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:52)
      	at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.get(MultiTenantComponentMapImpl.java:121)
      	at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.onTenantStart(MultiTenantComponentMapImpl.java:165)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:134)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:131)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForEachListener(DefaultMultiTenantManager.java:256)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startTenant(DefaultMultiTenantManager.java:130)
      	at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startAll(DefaultMultiTenantManager.java:203)
      	at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:85)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
      	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
      	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
      	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
      Caused by: java.sql.SQLException: The database is already in use by another process: org.hsqldb.persist.NIOLockFile@fa49b44d[file =/Luis/Workspace/realjira/jira-ide-support/target/jirahome/database/jiradb.lck, exists=true, locked=false, valid=false, fl =null]: 
      	at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
      	at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
      	at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
      	at org.hsqldb.jdbcDriver.connect(Unknown Source)
      	at java.sql.DriverManager.getConnection(DriverManager.java:582)
      	at java.sql.DriverManager.getConnection(DriverManager.java:185)
      	at org.ofbiz.core.entity.ConnectionFactory.tryGenericConnectionSources(ConnectionFactory.java:87)
      	at org.ofbiz.core.entity.transaction.JNDIFactory.getConnection(JNDIFactory.java:142)
      	at org.ofbiz.core.entity.TransactionFactory.getConnection(TransactionFactory.java:101)
      	at org.ofbiz.core.entity.ConnectionFactory.getConnection(ConnectionFactory.java:59)
      	at com.atlassian.jira.ofbiz.DefaultOfBizConnectionFactory.getConnection(DefaultOfBizConnectionFactory.java:28)
      	at com.atlassian.jira.upgrade.util.UpgradeUtils.tableExists(UpgradeUtils.java:101)
      	... 38 more
      

      https://jdog.atlassian.com/browse/JRADEV-5517

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              pslade@atlassian.com sladey
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: