Samples fail to work with the latest version of Derby DB
--------------------------------------------------------

                 Key: ARIES-317
                 URL: https://issues.apache.org/jira/browse/ARIES-317
             Project: Aries
          Issue Type: Bug
          Components: Samples
    Affects Versions: 0.1
         Environment: Windows, DerbyDB 10.6.x)
            Reporter: Bartosz Kowalewski


Samples shipped with Aries recommend following installation instructions from 
http://db.apache.org/derby/papers/DerbyTut/install_software.html#derby when 
installing Derby. 
The issue is that this guide suggests installing the latest version of Derby 
DB. A new version of Derby (v10.6.x) was released in May 2010 and it is 
incompatible with version of Derby client library (bundle) used in Aries 
(v10.5.3.0_1).

When running the Blog sample, in the browser I get:

java.lang.IllegalArgumentException: Failed to start database 'blogDB', see the 
next exception for details.
        at 
org.apache.aries.samples.blog.persistence.jdbc.BlogPersistenceServiceImpl.createAuthor(BlogPersistenceServiceImpl.java:84)

And in the logs I can see:

C:\svn_checkouts\aries\samples\blog\blog-assembly\target\blogDB has an 
incompatible format with the current version of the software.  The database was 
created by or upgraded by version 10.6.
        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)
        ... 45 more
Caused by: ERROR XSLAN: Database at 
C:\svn_checkouts\aries\samples\blog\blog-assembly\target\blogDB has an 
incompatible format with the current version of the software.  The database was 
created by or upgraded by version 10.6.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
        at 
org.apache.derby.impl.store.raw.log.LogToFile.readControlFile(Unknown Source)
        at org.apache.derby.impl.store.raw.log.LogToFile.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.data.BaseDataFileFactory.bootLogFactory(Unknown 
Source)
        at 
org.apache.derby.impl.store.raw.data.BaseDataFileFactory.setRawStoreFactory(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)
        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.access.RAMAccessManager.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.db.BasicDatabase.bootStore(Unknown Source)
        at org.apache.derby.impl.db.BasicDatabase.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.bootService(Unknown Source)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown 
Source)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown
 Source)
        at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown
 Source)
        at 
org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown 
Source)
        ... 45 more

Version  10.5.3.0_1 is hardcoded inside pom.xml files in many Aries 
subprojects. Changing the version of Derby in all of these files does not 
really make sense and would not bring a lot of value. 
I think that a better approach is to just add a short note to all samples that 
use Derby and explicitly specify the recommended version of Derby to be 
installed when preparing env for running Aries samples.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to