You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Bryan Pendleton (JIRA)" <ji...@apache.org> on 2012/07/12 15:52:34 UTC

[jira] [Commented] (DERBY-5856) ERROR XSDB6:Another instance of Derby may have already booted the database under multiple JVM environment

    [ https://issues.apache.org/jira/browse/DERBY-5856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13412793#comment-13412793 ] 

Bryan Pendleton commented on DERBY-5856:
----------------------------------------

To ensure database tables are free from corruption, Derby uses a locking mechanism
to prevent multiple JVMs from accessing the same database simultaneously. From
all the information presented so far, it sounds like Derby's mechanism is working correctly.
Probably, one of your two applications is accidentally accessing the wrong database
under some circumstances.

Can you offer a reproduction of this behavior in a standalone application? Attach it to
this JIRA, and perhaps somebody can help identify the problem.
                
> ERROR XSDB6:Another instance of Derby may have already booted the database under multiple JVM environment
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5856
>                 URL: https://issues.apache.org/jira/browse/DERBY-5856
>             Project: Derby
>          Issue Type: Bug
>          Components: Eclipse Plug-in
>    Affects Versions: 10.5.1.1
>         Environment: Windows, eclipse
>            Reporter: mwu
>
> There are 2 JVM lauched in my environment, one JVM is trying to access the derby database with url jdbc:derby:d:\location1\sample, another JVM is trying to access the another derby db with url jdbc:derby:d:\location2\sample.
> For each JVM, will create multiple connection during runtime. When one JVM has create serveral connections from database, only one connection is allowed for another JVM. If I tried to create more connection for another JVM, it will throw the exception:
>  Caused by: java.sql.SQLException: Failed to start database 'd:\location2\sample.', see the next exception for details.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
> 	... 71 more
> Caused by: java.sql.SQLException: Another instance of Derby may have already booted the database d:\location2\sample.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	... 68 more
> Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database d:\location2\sample.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privGetJBMSLockOnDB(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unknown Source)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMSLockOnDB(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
> 	at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
> 	at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> 	at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira