You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "M.Fatih Ozceylan (JIRA)" <ji...@apache.org> on 2007/05/13 09:03:15 UTC
[jira] Created: (JCR-913) DatabaseJournal.checkSchema generates
"Cannot call commit when autocommit=true" Exception
DatabaseJournal.checkSchema generates "Cannot call commit when autocommit=true" Exception
-----------------------------------------------------------------------------------------
Key: JCR-913
URL: https://issues.apache.org/jira/browse/JCR-913
Project: Jackrabbit
Issue Type: Bug
Affects Versions: 1.3
Environment: Windows Vista/Tomcat 5.5.17/Liferay/MySql 5.0.24, + mysql connector jar coming with liferay 4.3
Reporter: M.Fatih Ozceylan
Priority: Minor
When I tried to activate clustering with adding the following XML to repository.xml,
<Cluster id="node_1" syncDelay="5">
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="revision" value="${rep.home}/revision"/>
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost/jcr"/>
<param name="user" value="userX"/>
<param name="password" value="passWordC"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_C_"/>
</Journal>
</Cluster>
Databse Journal threw the following exception:
....
Caused by: javax.jcr.RepositoryException: Unable to initialize connection.: Unable to initialize connection.
at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:677)
at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:276)
at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:584)
at org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
at com.liferay.portal.jcr.jackrabbit.JCRFactoryImpl.createSession(JCRFactoryImpl.java:71)
at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:53)
at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:57)
at com.liferay.documentlibrary.util.IndexerImpl.reIndex(IndexerImpl.java:258)
... 17 more
Caused by: org.apache.jackrabbit.core.cluster.ClusterException: Unable to initialize connection.
at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:218)
at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:189)
at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:674)
... 26 more
Caused by: java.sql.SQLException: Can't call commit when autocommit=true
at com.mysql.jdbc.Connection.commit(Connection.java:2161)
at org.apache.jackrabbit.core.journal.DatabaseJournal.checkSchema(DatabaseJournal.java:437)
at org.apache.jackrabbit.core.journal.DatabaseJournal.init(DatabaseJournal.java:168)
at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:213)
... 28 more
When I examined the source code of the release jackrabbit 1.3, I saw that the init() method for DatabaseJournal class is:
...
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
con.setAutoCommit(true);
checkSchema();
prepareStatements();
...
and just before checkSchema() method's finally block:
...
// commit the changes
con.commit();
...
So, it seemed normal to see the mentioned exception. I just commented out the commit expression and continued my development. Am I missing something?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-913) DatabaseJournal.checkSchema generates
"Cannot call commit when autocommit=true" Exception
Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12495377 ]
Ian Boston commented on JCR-913:
--------------------------------
I had the same problem.... but changed
con.setAutoCommit(true);
to
con.setAutoCommit(false);
So that transactions still work.
I have other problems..... with MySQL, so I could be wrong ?
> DatabaseJournal.checkSchema generates "Cannot call commit when autocommit=true" Exception
> -----------------------------------------------------------------------------------------
>
> Key: JCR-913
> URL: https://issues.apache.org/jira/browse/JCR-913
> Project: Jackrabbit
> Issue Type: Bug
> Affects Versions: 1.3
> Environment: Windows Vista/Tomcat 5.5.17/Liferay/MySql 5.0.24, + mysql connector jar coming with liferay 4.3
> Reporter: M.Fatih Ozceylan
> Priority: Minor
>
> When I tried to activate clustering with adding the following XML to repository.xml,
> <Cluster id="node_1" syncDelay="5">
> <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> <param name="revision" value="${rep.home}/revision"/>
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url" value="jdbc:mysql://localhost/jcr"/>
> <param name="user" value="userX"/>
> <param name="password" value="passWordC"/>
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_C_"/>
> </Journal>
> </Cluster>
> Databse Journal threw the following exception:
> ....
> Caused by: javax.jcr.RepositoryException: Unable to initialize connection.: Unable to initialize connection.
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:677)
> at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:276)
> at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:584)
> at org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
> at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
> at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
> at com.liferay.portal.jcr.jackrabbit.JCRFactoryImpl.createSession(JCRFactoryImpl.java:71)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:53)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:57)
> at com.liferay.documentlibrary.util.IndexerImpl.reIndex(IndexerImpl.java:258)
> ... 17 more
> Caused by: org.apache.jackrabbit.core.cluster.ClusterException: Unable to initialize connection.
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:218)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:189)
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:674)
> ... 26 more
> Caused by: java.sql.SQLException: Can't call commit when autocommit=true
> at com.mysql.jdbc.Connection.commit(Connection.java:2161)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.checkSchema(DatabaseJournal.java:437)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.init(DatabaseJournal.java:168)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:213)
> ... 28 more
> When I examined the source code of the release jackrabbit 1.3, I saw that the init() method for DatabaseJournal class is:
> ...
> Class.forName(driver);
> con = DriverManager.getConnection(url, user, password);
> con.setAutoCommit(true);
> checkSchema();
> prepareStatements();
> ...
> and just before checkSchema() method's finally block:
> ...
> // commit the changes
> con.commit();
> ...
> So, it seemed normal to see the mentioned exception. I just commented out the commit expression and continued my development. Am I missing something?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (JCR-913) DatabaseJournal.checkSchema generates
"Cannot call commit when autocommit=true" Exception
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting resolved JCR-913.
-------------------------------
Resolution: Fixed
Fixed as suggested in revisionn 541145. Thanks for reporting this!
For the record, the problem was the same as we saw earlier with bundle persistence in issue JCR-841.
> DatabaseJournal.checkSchema generates "Cannot call commit when autocommit=true" Exception
> -----------------------------------------------------------------------------------------
>
> Key: JCR-913
> URL: https://issues.apache.org/jira/browse/JCR-913
> Project: Jackrabbit
> Issue Type: Bug
> Components: core
> Affects Versions: 1.3
> Environment: Windows Vista/Tomcat 5.5.17/Liferay/MySql 5.0.24, + mysql connector jar coming with liferay 4.3
> Reporter: M.Fatih Ozceylan
> Priority: Minor
>
> When I tried to activate clustering with adding the following XML to repository.xml,
> <Cluster id="node_1" syncDelay="5">
> <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> <param name="revision" value="${rep.home}/revision"/>
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url" value="jdbc:mysql://localhost/jcr"/>
> <param name="user" value="userX"/>
> <param name="password" value="passWordC"/>
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_C_"/>
> </Journal>
> </Cluster>
> Databse Journal threw the following exception:
> ....
> Caused by: javax.jcr.RepositoryException: Unable to initialize connection.: Unable to initialize connection.
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:677)
> at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:276)
> at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:584)
> at org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
> at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
> at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
> at com.liferay.portal.jcr.jackrabbit.JCRFactoryImpl.createSession(JCRFactoryImpl.java:71)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:53)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:57)
> at com.liferay.documentlibrary.util.IndexerImpl.reIndex(IndexerImpl.java:258)
> ... 17 more
> Caused by: org.apache.jackrabbit.core.cluster.ClusterException: Unable to initialize connection.
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:218)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:189)
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:674)
> ... 26 more
> Caused by: java.sql.SQLException: Can't call commit when autocommit=true
> at com.mysql.jdbc.Connection.commit(Connection.java:2161)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.checkSchema(DatabaseJournal.java:437)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.init(DatabaseJournal.java:168)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:213)
> ... 28 more
> When I examined the source code of the release jackrabbit 1.3, I saw that the init() method for DatabaseJournal class is:
> ...
> Class.forName(driver);
> con = DriverManager.getConnection(url, user, password);
> con.setAutoCommit(true);
> checkSchema();
> prepareStatements();
> ...
> and just before checkSchema() method's finally block:
> ...
> // commit the changes
> con.commit();
> ...
> So, it seemed normal to see the mentioned exception. I just commented out the commit expression and continued my development. Am I missing something?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (JCR-913) DatabaseJournal.checkSchema generates
"Cannot call commit when autocommit=true" Exception
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting updated JCR-913:
------------------------------
Merged to the 1.3 branch in revision 544292.
> DatabaseJournal.checkSchema generates "Cannot call commit when autocommit=true" Exception
> -----------------------------------------------------------------------------------------
>
> Key: JCR-913
> URL: https://issues.apache.org/jira/browse/JCR-913
> Project: Jackrabbit
> Issue Type: Bug
> Components: core
> Affects Versions: 1.3
> Environment: Windows Vista/Tomcat 5.5.17/Liferay/MySql 5.0.24, + mysql connector jar coming with liferay 4.3
> Reporter: M.Fatih Ozceylan
> Assignee: Jukka Zitting
> Priority: Minor
> Fix For: 1.3.1
>
>
> When I tried to activate clustering with adding the following XML to repository.xml,
> <Cluster id="node_1" syncDelay="5">
> <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> <param name="revision" value="${rep.home}/revision"/>
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url" value="jdbc:mysql://localhost/jcr"/>
> <param name="user" value="userX"/>
> <param name="password" value="passWordC"/>
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_C_"/>
> </Journal>
> </Cluster>
> Databse Journal threw the following exception:
> ....
> Caused by: javax.jcr.RepositoryException: Unable to initialize connection.: Unable to initialize connection.
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:677)
> at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:276)
> at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:584)
> at org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
> at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
> at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
> at com.liferay.portal.jcr.jackrabbit.JCRFactoryImpl.createSession(JCRFactoryImpl.java:71)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:53)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:57)
> at com.liferay.documentlibrary.util.IndexerImpl.reIndex(IndexerImpl.java:258)
> ... 17 more
> Caused by: org.apache.jackrabbit.core.cluster.ClusterException: Unable to initialize connection.
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:218)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:189)
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:674)
> ... 26 more
> Caused by: java.sql.SQLException: Can't call commit when autocommit=true
> at com.mysql.jdbc.Connection.commit(Connection.java:2161)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.checkSchema(DatabaseJournal.java:437)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.init(DatabaseJournal.java:168)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:213)
> ... 28 more
> When I examined the source code of the release jackrabbit 1.3, I saw that the init() method for DatabaseJournal class is:
> ...
> Class.forName(driver);
> con = DriverManager.getConnection(url, user, password);
> con.setAutoCommit(true);
> checkSchema();
> prepareStatements();
> ...
> and just before checkSchema() method's finally block:
> ...
> // commit the changes
> con.commit();
> ...
> So, it seemed normal to see the mentioned exception. I just commented out the commit expression and continued my development. Am I missing something?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (JCR-913) DatabaseJournal.checkSchema generates
"Cannot call commit when autocommit=true" Exception
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting updated JCR-913:
------------------------------
Component/s: core
Fix Version/s: 1.3.1
Assignee: Jukka Zitting
> DatabaseJournal.checkSchema generates "Cannot call commit when autocommit=true" Exception
> -----------------------------------------------------------------------------------------
>
> Key: JCR-913
> URL: https://issues.apache.org/jira/browse/JCR-913
> Project: Jackrabbit
> Issue Type: Bug
> Components: core
> Affects Versions: 1.3
> Environment: Windows Vista/Tomcat 5.5.17/Liferay/MySql 5.0.24, + mysql connector jar coming with liferay 4.3
> Reporter: M.Fatih Ozceylan
> Assigned To: Jukka Zitting
> Priority: Minor
> Fix For: 1.3.1
>
>
> When I tried to activate clustering with adding the following XML to repository.xml,
> <Cluster id="node_1" syncDelay="5">
> <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> <param name="revision" value="${rep.home}/revision"/>
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url" value="jdbc:mysql://localhost/jcr"/>
> <param name="user" value="userX"/>
> <param name="password" value="passWordC"/>
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_C_"/>
> </Journal>
> </Cluster>
> Databse Journal threw the following exception:
> ....
> Caused by: javax.jcr.RepositoryException: Unable to initialize connection.: Unable to initialize connection.
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:677)
> at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:276)
> at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:584)
> at org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
> at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
> at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
> at com.liferay.portal.jcr.jackrabbit.JCRFactoryImpl.createSession(JCRFactoryImpl.java:71)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:53)
> at com.liferay.portal.jcr.JCRFactoryUtil.createSession(JCRFactoryUtil.java:57)
> at com.liferay.documentlibrary.util.IndexerImpl.reIndex(IndexerImpl.java:258)
> ... 17 more
> Caused by: org.apache.jackrabbit.core.cluster.ClusterException: Unable to initialize connection.
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:218)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:189)
> at org.apache.jackrabbit.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:674)
> ... 26 more
> Caused by: java.sql.SQLException: Can't call commit when autocommit=true
> at com.mysql.jdbc.Connection.commit(Connection.java:2161)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.checkSchema(DatabaseJournal.java:437)
> at org.apache.jackrabbit.core.journal.DatabaseJournal.init(DatabaseJournal.java:168)
> at org.apache.jackrabbit.core.cluster.ClusterNode.init(ClusterNode.java:213)
> ... 28 more
> When I examined the source code of the release jackrabbit 1.3, I saw that the init() method for DatabaseJournal class is:
> ...
> Class.forName(driver);
> con = DriverManager.getConnection(url, user, password);
> con.setAutoCommit(true);
> checkSchema();
> prepareStatements();
> ...
> and just before checkSchema() method's finally block:
> ...
> // commit the changes
> con.commit();
> ...
> So, it seemed normal to see the mentioned exception. I just commented out the commit expression and continued my development. Am I missing something?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.