db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Thalamati <suresh.thalam...@gmail.com>
Subject Re: corrupt disk io storage factory for testing.
Date Fri, 22 Apr 2005 18:24:40 GMT

Thanks for the suggestion. I agree Proxy is better way to do this.   I 
am getting an  assertion failure when I try to
create database with a proxy storage factory.  Am I  missing some 
property  or  is it a problem ?

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

Thanks
-suresht

Daniel John Debrunner wrote:

>Suresh Thalamati wrote:
>  
>
>>Hi,
>>
>> I  am looking at  creating a new corruptible storage factory by
>>extending the engine's disk storage factory.
>> Purpose of this is to do explicitly corrupt the  IO and do some
>>recovery testing.  Thought ideal place
>> for the corruptible storage factory is to be in the test code utilities
>>not in the code line.  But  I ran into a simple obstacle ,
>> constructors in the  org.apache.derby.impl.io.DirFile etc are package
>>protected. So I am  unable to extend the disk storage
>> factory classes successfully .
>>    
>>
>
>Why not make a proxy storage factory that delegates to another storage
>factory, but performs any corruptions you require? Then the corruption
>testing would be independent of the underlying storage and not tied to
>the current disk implementation.
>
>Dan.
>
>
>
>  
>



Mime
View raw message