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 "Suresh Thalamati (JIRA)" <de...@db.apache.org> on 2005/05/02 22:39:08 UTC
[jira] Resolved: (DERBY-235) unable to create a database using a different storage factory than the one provided by default with the engine
[ http://issues.apache.org/jira/browse/DERBY-235?page=all ]
Suresh Thalamati resolved DERBY-235:
------------------------------------
Resolution: Fixed
Fix Version: 10.1.0.0
patch is commiteed for this problem with svn 165645
> unable to create a database using a different storage factory than the one provided by default with the engine
> --------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-235
> URL: http://issues.apache.org/jira/browse/DERBY-235
> Project: Derby
> Type: Bug
> Components: Services
> Versions: 10.1.0.0
> Environment: Windows , jdk142
> Reporter: Suresh Thalamati
> Assignee: Suresh Thalamati
> Priority: Minor
> Fix For: 10.1.0.0
>
> java -Dderby.subSubProtocol.csf=org.apache.derbyTesting.functionTests.util.corruptio.CorruptDiskStorageFactory org.apache.derby.tools.ij
> ij> connect 'jdbc:derby:csf:wombat1;create=true';
> ERROR XJ001: Java exception: 'ASSERT FAILED mismatched canonical names csf:C:\suresht\databases\wombat1 != C:\suresht\databases\wombat1: org.apache.derby.iapi.s
> ervices.sanity.AssertFailure'.
> Stack :
> ============= begin nested exception, level (1) ===========
> org.apache.derby.iapi.services.sanity.AssertFailure: ASSERT FAILED mismatched canonical names csf:C:\suresht\databases\wombat1 != C:\suresht\databases\wombat1
> at org.apache.derby.iapi.services.sanity.SanityManager.ASSERT(SanityManager.java:121)
> at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1773)
> at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(BaseMonitor.java:1018)
> at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Monitor.java:578)
> at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:1509)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:220)
> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
> at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
> at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
> at java.sql.DriverManager.getConnection(DriverManager.java:512)
> at java.sql.DriverManager.getConnection(DriverManager.java:140)
> at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:838)
> at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:700)
> at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
> at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
> at org.apache.derby.impl.tools.ij.Main.go(Main.java:209)
> at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:175)
> at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
> at org.apache.derby.tools.ij.main(ij.java:60)
> ============= end nested exception, level (1) ===========
> Cleanup action completed
> --
> By Briefly looking the code what I found:
> getCanonicalServiceName() calls return the service name add sub protocol name
> (eg : csf) in the beginning like csf:C:\suresht\databases\wombat1 . Where as
> createServiceRoot(..) return canonical name without the protocol like
> C:\suresht\databases\wombat1.
> Related code:
> org.apache.derby.impl.services.monitor.BaseMonitor.java
> bootService(..)
> {...
> if(create){
> ...
> serviceName = provider.createServiceRoot(serviceName,
> Boolean.valueOf(properties.getProperty(Property.DELETE_ON_CREATE)).booleanValue());
> }
> SanityManager.ASSERT(provider.getCanonicalServiceName(serviceName).equals(serviceName),
> "mismatched canonical names provider.getCanonicalServiceName(serviceName)
> + " != " + serviceName);
> --
> getCanonicalServiceName() calls return the service name add sub protocol name
> (eg : csf) in the beginning like csf:C:\suresht\databases\wombat1 . Where as
> createServiceRoot(..) return canonical name without the protocol like
> C:\suresht\databases\wombat1.
> One thing I could not understand is why service name is reset to the value that is returned from the createServiceRoot(..) ? Is it expected to be different
> than the one that is passed to it in some scenario ?
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira