I am using jackrabbit version 2.4.3 with versioning.
Please find attached my repository.xml.
I am using MySqlPersistenceManager.I have 2 hosts ( each with its own
clusterId) sharing the same workspace in the repository.
I have seen some issues when versioning is enabled.
For the interim, we had to turn off versioning from our code. i.e. We dont have
checkIn, checkout on the new nodes changes anymore.
But now I get versioning related exceptions on the nodes which were already
versioned when versioning was on.
Exception:
2013-04-11 23:59:00,574
[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-11] INFO
com.yahoo.ycp.repository.FeedHandler - In saveLocalCopyOfConvergeFeedStatus,
Exception on fetching feed e80fddb78c4a452aa4e8bd6c8bdadf9c :
javax.jcr.version.VersionException: Unable to perform operation. Node is
checked-in.
How can I resolve these exceptions for the nodes that got versioned , now that
my code has versioning turned off?
Thanks
-Priyanka
<?xml version="1.0"?>
<!-- This configuration to be used if the repository to be
setup in MySQL database
-->
<!DOCTYPE Repository
PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
"http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://${ycpDBHostName}:${ycpDBPortNum}/${ycpDBName}?${ycpDBSSL}"/>
<param name="user" value="${ycpDBUserName}"/>
<param name="password" value="${ycpDBPassword}"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="r_fs_"/>
</FileSystem>
<Security appName="Jackrabbit">
<SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
<UserIdClass class="com.yahoo.ycp.security.YcpPrincipal"/>
</SecurityManager>
<AccessManager class="com.yahoo.ycp.security.YcpAccessManager"></AccessManager>
<LoginModule class="com.yahoo.ycp.security.YcpLogin"></LoginModule>
</Security>
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://${ycpDBHostName}:${ycpDBPortNum}/${ycpDBName}?${ycpDBSSL}"/>
<param name="user" value="${ycpDBUserName}"/>
<param name="password" value="${ycpDBPassword}"/>
<param name="databaseType" value="mysql"/>
<param name="schemaObjectPrefix" value="r_ds_"/>
</DataStore>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<Workspace name="${wsp.name}">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://${ycpDBHostName}:${ycpDBPortNum}/${ycpDBName}?${ycpDBSSL}"/>
<param name="user" value="${ycpDBUserName}"/>
<param name="password" value="${ycpDBPassword}"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="r_fs_${wsp.name}_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://${ycpDBHostName}:${ycpDBPortNum}/${ycpDBName}?${ycpDBSSL}"/>
<param name="user" value="${ycpDBUserName}" />
<param name="password" value="${ycpDBPassword}" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="r_pm_${wsp.name}_"/>
<param name="externalBLOBs" value="false" />
<!-- Enable consistency check on start -->
<param name="consistencyCheck" value="true"/>
<param name="consistencyFix" value="true"/>
</PersistenceManager>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
<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="102" />
<!-- Enable consistency check on startup -->
<param name="autoRepair" value="true" />
<param name="enableConsistencyCheck" value="true"/>
<param name="forceConsistencyCheck" value="true"/>
</SearchIndex>
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://${ycpDBHostName}:${ycpDBPortNum}/${ycpDBName}?${ycpDBSSL}"/>
<param name="user" value="${ycpDBUserName}"/>
<param name="password" value="${ycpDBPassword}"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="r_v_fs_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://${ycpDBHostName}:${ycpDBPortNum}/${ycpDBName}?${ycpDBSSL}"/>
<param name="user" value="${ycpDBUserName}" />
<param name="password" value="${ycpDBPassword}" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="r_v_pm_"/>
<param name="externalBLOBs" value="false" />
<!-- Enable consistency check on start -->
<param name="consistencyCheck" value="true"/>
<param name="consistencyFix" value="true"/>
</PersistenceManager>
</Versioning>
<Cluster id="${ycpClusterId}" syncDelay="1000">
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://${ycpDBHostName}:${ycpDBPortNum}/${ycpDBName}?${ycpDBSSL}"/>
<param name="user" value="${ycpDBUserName}" />
<param name="password" value="${ycpDBPassword}" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="j_"/>
<!-- following variables to control the janitor invokation
<param name="janitorEnabled" value="true" />
<param name="janitorSleep" value="60" />
<param name="janitorFirstRunHourOfDay" value="17" />
-->
</Journal>
</Cluster>
</Repository>