jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (JIRA)" <j...@apache.org>
Subject [jira] Reopened: (JCR-2870) Transient Repository cannot be used more than once when configured with DataSources
Date Tue, 08 Feb 2011 09:12:57 GMT

     [ https://issues.apache.org/jira/browse/JCR-2870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Thomas Mueller reopened JCR-2870:
---------------------------------


I believe this commit is causing a test failure:

https://hudson.apache.org/hudson/job/Jackrabbit-trunk/org.apache.jackrabbit$jackrabbit-jca/1449/testReport/junit/org.apache.jackrabbit.jca.test/ConnectionFactoryTest/testTransactionSupport/

> Transient Repository cannot be used more than once when configured with DataSources
> -----------------------------------------------------------------------------------
>
>                 Key: JCR-2870
>                 URL: https://issues.apache.org/jira/browse/JCR-2870
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.1.2, 2.1.3, 2.2.0, 2.2.1
>         Environment: WindowsXP, Linux, Oracle, Derby
>            Reporter: Chris Schmidt
>            Assignee: Jukka Zitting
>             Fix For: 2.2.4
>
>         Attachments: jackrabbit-transient-issue.zip, jcr-2870.patch
>
>
> The TransientRepository cannot be used more than once when the repository is configured
with the DataSources construct. This has been verified with both Oracle and Derby configurations.
Once the TransientRepository closes for the first time, the ConnectionFactory class sets a
boolean value named closed to 'true'.  Thereafter, any use of the ConnectionFactory throws
a runtime exception.
> The following stacktrace is thrown on the second attempt to utilize the repository:
> 2011-01-25 08:12:14 DatabaseFileSystem [ERROR] failed to initialize file system
> java.lang.IllegalStateException: this factory has already been closed
> 	at org.apache.jackrabbit.core.util.db.ConnectionFactory.sanityCheck(ConnectionFactory.java:213)
> 	at org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataBaseType(ConnectionFactory.java:134)
> 	at org.apache.jackrabbit.core.fs.db.DbFileSystem.getDataSource(DbFileSystem.java:228)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:190)
> 	at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$6.getFileSystem(RepositoryConfigurationParser.java:1057)
> 	at org.apache.jackrabbit.core.config.RepositoryConfig.getFileSystem(RepositoryConfig.java:892)
> 	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:284)
> 	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:602)
> 	at org.apache.jackrabbit.core.TransientRepository$1.getRepository(TransientRepository.java:179)
> 	at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:279)
> 	at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:375)
> 	at org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:123)
> 	...
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
> 2011-01-25 08:12:14 RepositoryImpl [ERROR] failed to start Repository: File system initialization
failure.
> javax.jcr.RepositoryException: File system initialization failure.
> 	at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$6.getFileSystem(RepositoryConfigurationParser.java:1060)
> 	at org.apache.jackrabbit.core.config.RepositoryConfig.getFileSystem(RepositoryConfig.java:892)
> 	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:284)
> 	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:602)
> 	at org.apache.jackrabbit.core.TransientRepository$1.getRepository(TransientRepository.java:179)
> 	at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:279)
> 	at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:375)
> 	at org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:123)
> 	at TransientRepositoryTest.addNodeToRepository(TransientRepositoryTest.java:32)
> 	at TransientRepositoryTest.shouldNotFailWhenUsingTransientRepositoryTwice(TransientRepositoryTest.java:26)
> 	...
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
> Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to initialize file
system
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:210)
> 	at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$6.getFileSystem(RepositoryConfigurationParser.java:1057)
> 	... 42 more
> Caused by: java.lang.IllegalStateException: this factory has already been closed
> 	at org.apache.jackrabbit.core.util.db.ConnectionFactory.sanityCheck(ConnectionFactory.java:213)
> 	at org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataBaseType(ConnectionFactory.java:134)
> 	at org.apache.jackrabbit.core.fs.db.DbFileSystem.getDataSource(DbFileSystem.java:228)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:190)
> 	... 43 more
> 2011-01-25 08:12:14 RepositoryImpl [ERROR] Error while closing Version Manager.
> java.lang.NullPointerException
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1117)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1063)
> 	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:388)
> 	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:602)
> 	at org.apache.jackrabbit.core.TransientRepository$1.getRepository(TransientRepository.java:179)
> 	at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:279)
> 	at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:375)
> 	at org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:123)
> 	at TransientRepositoryTest.addNodeToRepository(TransientRepositoryTest.java:32)
> 	at TransientRepositoryTest.shouldNotFailWhenUsingTransientRepositoryTwice(TransientRepositoryTest.java:26)
> 	...
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
> 2011-01-25 08:12:14 RepositoryImpl [ERROR] In addition to startup fail, another unexpected
problem occurred while shutting down the repository again.
> java.lang.NullPointerException
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1136)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1063)
> 	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:388)
> 	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:602)
> 	at org.apache.jackrabbit.core.TransientRepository$1.getRepository(TransientRepository.java:179)
> 	at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:279)
> 	at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:375)
> 	at org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:123)
> 	at TransientRepositoryTest.addNodeToRepository(TransientRepositoryTest.java:32)
> 	at TransientRepositoryTest.shouldNotFailWhenUsingTransientRepositoryTwice(TransientRepositoryTest.java:26)
> 	...
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
> javax.jcr.RepositoryException: File system initialization failure.
> 	at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$6.getFileSystem(RepositoryConfigurationParser.java:1060)
> 	at org.apache.jackrabbit.core.config.RepositoryConfig.getFileSystem(RepositoryConfig.java:892)
> 	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:284)
> 	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:602)
> 	at org.apache.jackrabbit.core.TransientRepository$1.getRepository(TransientRepository.java:179)
> 	at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:279)
> 	at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:375)
> 	at org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:123)
> 	at TransientRepositoryTest.addNodeToRepository(TransientRepositoryTest.java:32)
> 	at TransientRepositoryTest.shouldNotFailWhenUsingTransientRepositoryTwice(TransientRepositoryTest.java:26)
> 	...
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
> Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to initialize file
system
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:210)
> 	at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$6.getFileSystem(RepositoryConfigurationParser.java:1057)
> 	... 42 more
> Caused by: java.lang.IllegalStateException: this factory has already been closed
> 	at org.apache.jackrabbit.core.util.db.ConnectionFactory.sanityCheck(ConnectionFactory.java:213)
> 	at org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataBaseType(ConnectionFactory.java:134)
> 	at org.apache.jackrabbit.core.fs.db.DbFileSystem.getDataSource(DbFileSystem.java:228)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:190)
> 	... 43 more

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message