From dev-return-30695-apmail-jackrabbit-dev-archive=jackrabbit.apache.org@jackrabbit.apache.org Tue Feb 08 09:13:27 2011 Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 60830 invoked from network); 8 Feb 2011 09:13:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Feb 2011 09:13:26 -0000 Received: (qmail 52875 invoked by uid 500); 8 Feb 2011 09:13:26 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 52492 invoked by uid 500); 8 Feb 2011 09:13:23 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 52476 invoked by uid 99); 8 Feb 2011 09:13:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Feb 2011 09:13:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Feb 2011 09:13:18 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 8D03A199C99 for ; Tue, 8 Feb 2011 09:12:57 +0000 (UTC) Date: Tue, 8 Feb 2011 09:12:57 +0000 (UTC) From: "Thomas Mueller (JIRA)" To: dev@jackrabbit.apache.org Message-ID: <362236117.1989.1297156377574.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <11716842.187571295965183863.JavaMail.jira@thor> Subject: [jira] Reopened: (JCR-2870) Transient Repository cannot be used more than once when configured with DataSources MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ 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.(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.(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.(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.(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.(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