[ 
https://issues.apache.org/jira/browse/JCR-1557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620339#action_12620339
 ] 

Andrew Perepelytsya commented on JCR-1557:
------------------------------------------

The issue isn't really fixed in 1.4.5. It works for DB PMs, but didn't change a 
thing for *bundle* PMs, e.g. for 
org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager the 
stacktrace is the same:

[08-06 13:38:58] WARN  DbFileSystem [Shutdown]: execute failed, about to 
reconnect...
[08-06 13:39:08] ERROR RepositoryImpl [Shutdown]: Error while closing Version 
Manager.
java.sql.SQLException: No current connection.
        at 
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(Unknown 
Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.getMetaData(Unknown 
Source)
        at 
org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager.close(DerbyPersistenceManager.java:312)
        at 
org.apache.jackrabbit.core.version.VersionManagerImpl.close(VersionManagerImpl.java:196)
        at 
org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1000)
        at 
org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:948)
        at 
org.springmodules.jcr.jackrabbit.RepositoryFactoryBean.destroy(RepositoryFactoryBean.java:91)
        at 
org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:154)
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:397)
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:375)
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:348)
        at 
org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:861)
        at 
org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:839)
        at 
org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:802)
        at 
org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:367)
        at 
org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:70)
        at 
org.mortbay.jetty.handler.ContextHandler.doStop(ContextHandler.java:573)
        at org.mortbay.jetty.webapp.WebAppContext.doStop(WebAppContext.java:484)
        at 
org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:65)
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:129)
        at org.mortbay.jetty.Server.doStop(Server.java:281)
        at 
org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:65)
        at org.mortbay.jetty.Server$ShutdownHookThread.run(Server.java:559)
[08-06 13:39:08] WARN  DbFileSystem [Shutdown]: execute failed, about to 
reconnect...
[08-06 13:39:18] INFO  log [Shutdown]: Shutdown hook complete

Process finished with exit code 1


Looking at 
org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager, the 
close() implementation is quite different from its db counterpart, shouldn't it 
have the same fixes?

> Avoid exceptions during shutting repository down if several PMs/FSs use same 
> DB
> -------------------------------------------------------------------------------
>
>                 Key: JCR-1557
>                 URL: https://issues.apache.org/jira/browse/JCR-1557
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: core 1.4.2
>         Environment: Apache Derby / 10.3.2.1 - (599110)
>            Reporter: Roman Puchkovskiy
>            Priority: Minor
>             Fix For: core 1.4.5
>
>         Attachments: repository.xml
>
>
> According to docs and forum discussions, it's legal to use same DB for 
> different FileSystems/Persistence Managers. Such configurations seem to work 
> fine, but when repository is stopped, exceptions are produced like following:
> SEVERE: Error while closing Version Manager.
> java.sql.SQLNonTransientConnectionException: No current connection.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.getMetaData(Unknown 
> Source)
>       at 
> org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager.closeConnection(DerbyPersistenceManager.java:109)
>       at 
> org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.close(DatabasePersistenceManager.java:261)
>       at 
> org.apache.jackrabbit.core.version.VersionManagerImpl.close(VersionManagerImpl.java:201)
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1000)
>       at 
> org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:948)
>       at 
> org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:275)
>       at 
> org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:427)
>       at 
> org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:574)
>       at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1247)
>       at 
> org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
>       at 
> com.blandware.tooling.jcrplugin.ExportMojo.execute(ExportMojo.java:81)
>       at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>       at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>       at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>       at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: java.sql.SQLException: No current connection.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
>  Source)
>       ... 35 more

-- 
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