You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Sascha Theves (JIRA)" <ji...@apache.org> on 2009/06/19 14:35:09 UTC

[jira] Created: (JCR-2163) Exception logged when repository is shut down

Exception logged when repository is shut down
---------------------------------------------

                 Key: JCR-2163
                 URL: https://issues.apache.org/jira/browse/JCR-2163
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 1.5.0
            Reporter: Sascha Theves


It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.

We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
The exceptions are occuring since we are using JNDI for database access. Here is our error log:

2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
	at xxx.stop(TeamServerApplication.java:212)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
	... 43 more
	
	Here is our repository.xml:
	
	<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
                            "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
<Repository>

   <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
      <param name="url" value="java:comp/env/jdbc/repository" />
      <param name="schemaObjectPrefix" value="fs_" />
      <param name="driver" value="javax.naming.InitialContext" />
      <param name="schema" value="derby"/>
   </FileSystem>

   <Security appName="Jackrabbit">
      <AccessManager
         class="xxx.internal.security.RuleRepositoryAccessManager">
      </AccessManager>

      <LoginModule
         class="xxx.internal.security.RuleRepositoryLoginModule">
      </LoginModule>
   </Security>

   <Workspaces rootPath="${rep.home}/workspaces"
      defaultWorkspace="default" />
   <Workspace name="${wsp.name}">
      <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
         <param name="url" value="java:comp/env/jdbc/repository" />
         <param name="schemaObjectPrefix" value="${wsp.name}_" />
         <param name="driver" value="javax.naming.InitialContext" />
         <param name="schema" value="derby"/>
      </FileSystem>
      <PersistenceManager
         class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
         <param name="url" value="java:comp/env/jdbc/repository" />
         <param name="schemaObjectPrefix" value="${wsp.name}_" />
         <param name="driver" value="javax.naming.InitialContext" />
         <param name="schema" value="derby"/>
      </PersistenceManager>
      <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
         <param name="path" value="${wsp.home}/index" />
         <param name="useCompoundFile" value="true" />
         <param name="minMergeDocs" value="100" />
         <param name="volatileIdleTime" value="3" />
         <param name="maxMergeDocs" value="2147483647" />
         <param name="mergeFactor" value="10" />
         <param name="maxFieldLength" value="10000" />
         <param name="bufferSize" value="10" />
         <param name="cacheSize" value="1000" />
         <param name="forceConsistencyCheck" value="false" />
         <param name="enableConsistencyCheck" value="false" />
         <param name="autoRepair" value="true" />
         <param name="analyzer"
            value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
         <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
         <param name="respectDocumentOrder" value="true" />
         <param name="resultFetchSize" value="2147483647" />
         <param name="extractorPoolSize" value="0" />
         <param name="extractorTimeout" value="100" />
         <param name="extractorBackLogSize" value="100" />
      </SearchIndex>
      <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
      </ISMLocking>
   </Workspace>

   <Versioning rootPath="${rep.home}/version">

      <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
         <param name="url" value="java:comp/env/jdbc/repository" />
         <param name="schemaObjectPrefix" value="version_" />
         <param name="driver" value="javax.naming.InitialContext" />
         <param name="schema" value="derby"/>
      </FileSystem>

      <PersistenceManager
         class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
         <param name="url" value="java:comp/env/jdbc/repository" />
         <param name="schemaObjectPrefix" value="version_" />
         <param name="driver" value="javax.naming.InitialContext" />
         <param name="schema" value="derby"/>
      </PersistenceManager>
      <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
      </ISMLocking>
   </Versioning>

   <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
      <param name="path" value="${rep.home}/repository/index" />
   </SearchIndex>

</Repository>

And our workspace.xml (we have only the default workspace):

<?xml version="1.0" encoding="UTF-8"?>
<Workspace name="default">
      <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
         <param name="url" value="java:comp/env/jdbc/repository"/>
         <param name="schemaObjectPrefix" value="${wsp.name}_"/>
         <param name="driver" value="javax.naming.InitialContext"/>
         <param name="schema" value="derby"/>
      </FileSystem>
      <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
         <param name="url" value="java:comp/env/jdbc/repository"/>
         <param name="schemaObjectPrefix" value="${wsp.name}_"/>
         <param name="driver" value="javax.naming.InitialContext"/>
         <param name="schema" value="derby"/>
      </PersistenceManager>
      <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
         <param name="path" value="${wsp.home}/index"/>
         <param name="useCompoundFile" value="true"/>
         <param name="minMergeDocs" value="100"/>
         <param name="volatileIdleTime" value="3"/>
         <param name="maxMergeDocs" value="2147483647"/>
         <param name="mergeFactor" value="10"/>
         <param name="maxFieldLength" value="10000"/>
         <param name="bufferSize" value="10"/>
         <param name="cacheSize" value="1000"/>
         <param name="forceConsistencyCheck" value="false"/>
         <param name="enableConsistencyCheck" value="false"/>
         <param name="autoRepair" value="true"/>
         <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
         <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
         <param name="respectDocumentOrder" value="true"/>
         <param name="resultFetchSize" value="2147483647"/>
         <param name="extractorPoolSize" value="0"/>
         <param name="extractorTimeout" value="100"/>
         <param name="extractorBackLogSize" value="100"/>
      </SearchIndex>
      <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
      </ISMLocking>
   </Workspace>



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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722502#action_12722502 ] 

Sascha Theves commented on JCR-2163:
------------------------------------

The databse URL is:

jdbc:derby://localhost:1531/mydb;create=true

The derby server is up and running. The configuration worked well without JNDI. We can log in to the repository and make changes. The exception only occurs when we try to shut down.

We have debugged the shut down mechanism and it seems that JackRabbit want to use a database connection that was already closed by JackRabbit in the shut down code.

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Resolved: (JCR-2163) Exception logged when repository is shut down

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Guggisberg resolved JCR-2163.
------------------------------------

    Resolution: Invalid

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722517#action_12722517 ] 

Sascha Theves commented on JCR-2163:
------------------------------------

Here is the exception thrown from derby:

2009-06-22 10:45:26,614 [OSGi Console] ERROR DatabaseFileSystem - failed to check existence of file system entry: /meta
java.sql.SQLNonTransientConnectionException: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08003, SQLERRMC: No current connection.
	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1074)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
	...
	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08003, SQLERRMC: No current connection.
	at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
	at org.apache.derby.client.am.Statement.completeOpenQuery(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parseOpenQueryFailure(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parseOPNQRYreply(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.readOpenQuery(Unknown Source)
	at org.apache.derby.client.net.StatementReply.readOpenQuery(Unknown Source)
	at org.apache.derby.client.net.NetStatement.readOpenQuery_(Unknown Source)
	at org.apache.derby.client.am.Statement.readOpenQuery(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.executeX(Unknown Source)
	... 40 more


> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722516#action_12722516 ] 

Sascha Theves commented on JCR-2163:
------------------------------------

> As far as I know, Derby would throw another exception in this case: "No current connection". Or at least I hope it would. 

Derby throws such a exception but JackRabbit does not re-throw it.

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722520#action_12722520 ] 

Sascha Theves commented on JCR-2163:
------------------------------------

Here is the stack trace of the shut down hook until the SQLException (No current connection) is re-thrown:

Thread [OSGi Console] (Suspended (breakpoint at line 1105 in DatabaseFileSystem))	
	owns: "select 1 from FS_FSENTRY where FSENTRY_PATH = ? and FSENTRY_NAME = ?" (id=100)	
	owns: FileSystemResource  (id=101)	
	owns: RepositoryImpl  (id=102)	
	owns: TransientRepository  (id=103)	
	owns: XASessionImpl  (id=104)	
	owns: Framework  (id=105)	
	DerbyFileSystem(DatabaseFileSystem).executeStmt(String, Object[]) line: 1105	
	DerbyFileSystem(DatabaseFileSystem).exists(String) line: 338	
	BasedFileSystem.exists(String) line: 121	
	FileSystemResource.makeParentDirs() line: 102	
	RepositoryImpl.storeRepProps(Properties) line: 1303	
	RepositoryImpl.doShutdown() line: 1176	
	RepositoryImpl.shutdown() line: 1111	
	TransientRepository.stopRepository() line: 271	
	TransientRepository.loggedOut(SessionImpl) line: 423	
	XASessionImpl(SessionImpl).notifyLoggedOut() line: 600	
	XASessionImpl(SessionImpl).logout() line: 1174	
	XASessionImpl.logout() line: 403	
	TransientRepository.shutdown() line: 399	
	RuleRepositoryManager.logout() line: 579	
	RuleRepositoryManager.stopRuleRepository() line: 530	
	TeamServerApplication.tearDownRuleRepository() line: 554	
	TeamServerApplication.stop() line: 212	
	EclipseAppHandle.destroySpecific() line: 87	
	EclipseAppHandle(ApplicationHandle).destroy() line: 168	
	EclipseAppContainer.stopAllApps() line: 377	
	EclipseAppContainer.bundleChanged(BundleEvent) line: 365	
	BundleContextImpl.dispatchEvent(Object, Object, int, Object) line: 1234	
	EventManager.dispatchEvent(EventListeners$ListElement[], EventDispatcher, int, Object) line: 211	
	ListenerQueue.dispatchEventSynchronous(int, Object) line: 141	
	Framework.publishBundleEventPrivileged(BundleEvent) line: 1518	
	Framework.publishBundleEvent(int, Bundle) line: 1469	
	Framework.shutdown() line: 667	
	Framework.close() line: 576	
	OSGi.close() line: 41	
	FrameworkCommandProvider._close(CommandInterpreter) line: 1154	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	FrameworkCommandInterpreter.execute(String) line: 150	
	FrameworkConsole.docommand(String) line: 302	
	FrameworkConsole.console() line: 287	
	FrameworkConsole.run() line: 223	
	Thread.run() line: 619	


> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Thomas Mueller (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722509#action_12722509 ] 

Thomas Mueller commented on JCR-2163:
-------------------------------------

> JackRabbit want to use a database connection that was already closed 

As far as I know, Derby would throw another exception in this case: "No current connection". Or at least I hope it would.

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722990#action_12722990 ] 

Sascha Theves commented on JCR-2163:
------------------------------------

I have found the problem. The <param name="shutdownOnClose" value="false"/>  parameter works. I forgot to edit the workspace.xml. We have configured three DerbyFileSystems and the first one closes the derby instance on shut down. The others run into the problem. Setting the shutdownOnClose Parameter fixes the problem. 

Thanks.

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Issue Comment Edited: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722502#action_12722502 ] 

Sascha Theves edited comment on JCR-2163 at 6/22/09 1:01 AM:
-------------------------------------------------------------

The databse URL is:

jdbc:derby://localhost:1531/mydb;create=true

The derby server is up and running. The configuration worked well without JNDI. We can log into the repository and make changes. The exception only occurs when we try to shut down the repository.

We have debugged the shut down mechanism and it seems that JackRabbit want to use a database connection that was already closed by JackRabbit in the shut down code.

      was (Author: sascha0137):
    The databse URL is:

jdbc:derby://localhost:1531/mydb;create=true

The derby server is up and running. The configuration worked well without JNDI. We can log in to the repository and make changes. The exception only occurs when we try to shut down.

We have debugged the shut down mechanism and it seems that JackRabbit want to use a database connection that was already closed by JackRabbit in the shut down code.
  
> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722515#action_12722515 ] 

Sascha Theves commented on JCR-2163:
------------------------------------

I tried the param <param name="shutdownOnClose" value="false"/>  but the exception is the same.

> That's strange, because the exception occurs just after opening a new connection: the exception is thrown in DatabaseFileSystem.reestablishConnection(), just after calling initConnection(). 

For me it is strange that JackRabbit wants to reestablish a connection. He wants to reestablish a connection because the current connection was closed a little bit earlier. So, why does JackRabbit close a connection that is later used?

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Thomas Mueller (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722499#action_12722499 ] 

Thomas Mueller commented on JCR-2163:
-------------------------------------

This looks like a database or configuration problem. How does the database URL look like? Is the Derby server running?

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Thomas Mueller (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722531#action_12722531 ] 

Thomas Mueller commented on JCR-2163:
-------------------------------------

> For me it is strange that JackRabbit wants to reestablish a connection.

Because it was closed. It shouldn't be closed. 

> So, why does JackRabbit close a connection that is later used? 

As far as I see, Jackrabbit doesn't do that. Jackrabbit uses one connection per DatabaseFileSystem, and the file system that stores repository properties is closed afterwards. I wonder why the connection was closed in your case.

> Derby throws such a exception but JackRabbit does not re-throw it.

No, because it tries to re-establish the broken connection.

So far, I don't know what the problem could be, sorry.

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Updated: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sascha Theves updated JCR-2163:
-------------------------------

    Comment: was deleted

(was: > As far as I know, Derby would throw another exception in this case: "No current connection". Or at least I hope it would. 

Derby throws such a exception but JackRabbit does not re-throw it.)

> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Commented: (JCR-2163) Exception logged when repository is shut down

Posted by "Thomas Mueller (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722508#action_12722508 ] 

Thomas Mueller commented on JCR-2163:
-------------------------------------

> The configuration worked well without JNDI

That's strange.

> JackRabbit want to use a database connection that was already closed

That's strange, because the exception occurs just after opening a new connection: the exception is thrown in DatabaseFileSystem.reestablishConnection(), just after calling initConnection().

Could you try setting the property shutdownOnClose to false? I'm not sure if it's related: <param name="shutdownOnClose" value="false"/>

Maybe the version of the Derby client and the Derby server don't match? Or maybe the problem is related to this bug: https://issues.apache.org/jira/browse/DERBY-3867


> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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


[jira] Issue Comment Edited: (JCR-2163) Exception logged when repository is shut down

Posted by "Sascha Theves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722517#action_12722517 ] 

Sascha Theves edited comment on JCR-2163 at 6/22/09 1:48 AM:
-------------------------------------------------------------

> As far as I know, Derby would throw another exception in this case: "No current connection". Or at least I hope it would. 

Here is the exception thrown from derby:

2009-06-22 10:45:26,614 [OSGi Console] ERROR DatabaseFileSystem - failed to check existence of file system entry: /meta
java.sql.SQLNonTransientConnectionException: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08003, SQLERRMC: No current connection.
	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1074)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
	...
	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08003, SQLERRMC: No current connection.
	at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
	at org.apache.derby.client.am.Statement.completeOpenQuery(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parseOpenQueryFailure(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parseOPNQRYreply(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.readOpenQuery(Unknown Source)
	at org.apache.derby.client.net.StatementReply.readOpenQuery(Unknown Source)
	at org.apache.derby.client.net.NetStatement.readOpenQuery_(Unknown Source)
	at org.apache.derby.client.am.Statement.readOpenQuery(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.executeX(Unknown Source)
	... 40 more


      was (Author: sascha0137):
    Here is the exception thrown from derby:

2009-06-22 10:45:26,614 [OSGi Console] ERROR DatabaseFileSystem - failed to check existence of file system entry: /meta
java.sql.SQLNonTransientConnectionException: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08003, SQLERRMC: No current connection.
	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1074)
	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
	...
	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08003, SQLERRMC: No current connection.
	at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
	at org.apache.derby.client.am.Statement.completeOpenQuery(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parseOpenQueryFailure(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.parseOPNQRYreply(Unknown Source)
	at org.apache.derby.client.net.NetStatementReply.readOpenQuery(Unknown Source)
	at org.apache.derby.client.net.StatementReply.readOpenQuery(Unknown Source)
	at org.apache.derby.client.net.NetStatement.readOpenQuery_(Unknown Source)
	at org.apache.derby.client.am.Statement.readOpenQuery(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.executeX(Unknown Source)
	... 40 more

  
> Exception logged when repository is shut down
> ---------------------------------------------
>
>                 Key: JCR-2163
>                 URL: https://issues.apache.org/jira/browse/JCR-2163
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.5.0
>            Reporter: Sascha Theves
>
> It seems we have the same problem as described in JCR-1499 but we are using the 1.5.0 build and there the fix should already be included.
> We got exceptions when we try to shut down JackRabbit with JackrabbitRepository#shutdown() and using a derby database. We tried it with derby 10.4.2.0 and 10.5.1.1 but got the same exceptions.
> The exceptions are occuring since we are using JNDI for database access. Here is our error log:
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:24,817 [OSGi Console] WARN  DatabaseFileSystem - execute failed, about to reconnect...
> 2009-06-19 14:28:34,808 [OSGi Console] ERROR DatabaseFileSystem - failed to re-establish connection
> java.sql.SQLNonTransientConnectionException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
> 	at xxx.jndi.TSDataSource$TSConnection.prepareStatement(TSDataSource.java:516)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initPreparedStatements(DatabaseFileSystem.java:1291)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.reestablishConnection(DatabaseFileSystem.java:1041)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1085)
> 	at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.exists(DatabaseFileSystem.java:338)
> 	at org.apache.jackrabbit.core.fs.BasedFileSystem.exists(BasedFileSystem.java:121)
> 	at org.apache.jackrabbit.core.fs.FileSystemResource.makeParentDirs(FileSystemResource.java:102)
> 	at org.apache.jackrabbit.core.RepositoryImpl.storeRepProps(RepositoryImpl.java:1303)
> 	at org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1176)
> 	at org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1111)
> 	at org.apache.jackrabbit.core.TransientRepository.stopRepository(TransientRepository.java:271)
> 	at org.apache.jackrabbit.core.TransientRepository.loggedOut(TransientRepository.java:423)
> 	at org.apache.jackrabbit.core.SessionImpl.notifyLoggedOut(SessionImpl.java:600)
> 	at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1174)
> 	at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:403)
> 	at xxx.repository.internal.RuleRepositorySession.logout(RuleRepositorySession.java:110)
> 	at xxx.repository.internal.RuleRepositoryManager.logout(RuleRepositoryManager.java:576)
> 	at xxx.repository.internal.RuleRepositoryManager.stopRuleRepository(RuleRepositoryManager.java:530)
> 	at xxx.tearDownRuleRepository(TeamServerApplication.java:554)
> 	at xxx.stop(TeamServerApplication.java:212)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.destroySpecific(EclipseAppHandle.java:87)
> 	at org.osgi.service.application.ApplicationHandle.destroy(ApplicationHandle.java:168)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.stopAllApps(EclipseAppContainer.java:377)
> 	at org.eclipse.equinox.internal.app.EclipseAppContainer.bundleChanged(EclipseAppContainer.java:365)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1234)
> 	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:211)
> 	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1518)
> 	at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1469)
> 	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:667)
> 	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:576)
> 	at org.eclipse.osgi.framework.internal.core.OSGi.close(OSGi.java:41)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._close(FrameworkCommandProvider.java:1154)
> 	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.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> 	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.derby.client.am.DisconnectException: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
> 	at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
> 	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
> 	at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> 	at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
> 	... 43 more
> 	
> 	Here is our repository.xml:
> 	
> 	<?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
>                             "http://jackrabbit.apache.org/dtd/repository-1.4.dtd">
> <Repository>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>       <param name="url" value="java:comp/env/jdbc/repository" />
>       <param name="schemaObjectPrefix" value="fs_" />
>       <param name="driver" value="javax.naming.InitialContext" />
>       <param name="schema" value="derby"/>
>    </FileSystem>
>    <Security appName="Jackrabbit">
>       <AccessManager
>          class="xxx.internal.security.RuleRepositoryAccessManager">
>       </AccessManager>
>       <LoginModule
>          class="xxx.internal.security.RuleRepositoryLoginModule">
>       </LoginModule>
>    </Security>
>    <Workspaces rootPath="${rep.home}/workspaces"
>       defaultWorkspace="default" />
>    <Workspace name="${wsp.name}">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="${wsp.name}_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index" />
>          <param name="useCompoundFile" value="true" />
>          <param name="minMergeDocs" value="100" />
>          <param name="volatileIdleTime" value="3" />
>          <param name="maxMergeDocs" value="2147483647" />
>          <param name="mergeFactor" value="10" />
>          <param name="maxFieldLength" value="10000" />
>          <param name="bufferSize" value="10" />
>          <param name="cacheSize" value="1000" />
>          <param name="forceConsistencyCheck" value="false" />
>          <param name="enableConsistencyCheck" value="false" />
>          <param name="autoRepair" value="true" />
>          <param name="analyzer"
>             value="org.apache.lucene.analysis.standard.StandardAnalyzer" />
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
>          <param name="respectDocumentOrder" value="true" />
>          <param name="resultFetchSize" value="2147483647" />
>          <param name="extractorPoolSize" value="0" />
>          <param name="extractorTimeout" value="100" />
>          <param name="extractorBackLogSize" value="100" />
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>
>    <Versioning rootPath="${rep.home}/version">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager
>          class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository" />
>          <param name="schemaObjectPrefix" value="version_" />
>          <param name="driver" value="javax.naming.InitialContext" />
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Versioning>
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>       <param name="path" value="${rep.home}/repository/index" />
>    </SearchIndex>
> </Repository>
> And our workspace.xml (we have only the default workspace):
> <?xml version="1.0" encoding="UTF-8"?>
> <Workspace name="default">
>       <FileSystem class="org.apache.jackrabbit.core.fs.db.DerbyFileSystem">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </FileSystem>
>       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="java:comp/env/jdbc/repository"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="driver" value="javax.naming.InitialContext"/>
>          <param name="schema" value="derby"/>
>       </PersistenceManager>
>       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>          <param name="path" value="${wsp.home}/index"/>
>          <param name="useCompoundFile" value="true"/>
>          <param name="minMergeDocs" value="100"/>
>          <param name="volatileIdleTime" value="3"/>
>          <param name="maxMergeDocs" value="2147483647"/>
>          <param name="mergeFactor" value="10"/>
>          <param name="maxFieldLength" value="10000"/>
>          <param name="bufferSize" value="10"/>
>          <param name="cacheSize" value="1000"/>
>          <param name="forceConsistencyCheck" value="false"/>
>          <param name="enableConsistencyCheck" value="false"/>
>          <param name="autoRepair" value="true"/>
>          <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>          <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
>          <param name="respectDocumentOrder" value="true"/>
>          <param name="resultFetchSize" value="2147483647"/>
>          <param name="extractorPoolSize" value="0"/>
>          <param name="extractorTimeout" value="100"/>
>          <param name="extractorBackLogSize" value="100"/>
>       </SearchIndex>
>       <ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
>       </ISMLocking>
>    </Workspace>

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