Versioning error on file update on Multiple workspace configured Repository
---------------------------------------------------------------------------
Key: JCR-2986
URL: https://issues.apache.org/jira/browse/JCR-2986
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: config
Affects Versions: 2.2.1
Environment: Windows XP; WebLogic Application server with Liferay
Portal server
Reporter: Sarav
Hi,
I have configured multiple workspace with the same Repository following the
JackRabbit configuration, I have updated the repository.xml file (Workspace)
part with the new workspace which created the list of tables (*Entry, *Binval,
*.Bundle, *Names) for the new workspace in DB. After creating the new
repository i have reverted back the older configuration, since having multiple
<workspace> element in repository.xml provides "Duplicate element error",
After successfull creation of multiple workspace, I have uploaded files
successfully in both the workspaces by dynamically passing the workspace name,
but when i try to edit the file I am receivng the below specified error
message, that too it gives different errors for both workspaces,
Error Stack trace:
13:08:40,798 ERROR [jsp:154]
com.liferay.portal.kernel.exception.SystemException:
javax.jcr.version.VersionException: Version label {}1.0 already
defined for version {}1.0
at com.liferay.documentlibrary.util.JCRHook.updateFile(JCRHook.java:875)
at
com.liferay.documentlibrary.util.HookProxyImpl.updateFile(HookProxyImpl.java:256)
at
com.liferay.documentlibrary.util.SafeFileNameHookWrapper.updateFile(SafeFileNameHookWrapper.java:409)
at
com.liferay.documentlibrary.service.impl.DLLocalServiceImpl.updateFile(DLLocalServiceImpl.java:307)
at
com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.updateFileEntry(DLFileEntryLocalServiceImpl.java:1096)
at
com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.updateFileEntry(DLFileEntryLocalServiceImpl.java:936)
at
com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portlet.documentlibrary.service.impl.DLFileEntryServiceImpl.updateFileEntry(DLFileEntryServiceImpl.java:550)
at
com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
Caused by: javax.jcr.version.VersionException: Version label {}1.0 already
defined for version {}1.0
at
org.apache.jackrabbit.core.version.InternalVersionHistoryImpl.setVersionLabel(InternalVersionHistoryImpl.java:493)
at
org.apache.jackrabbit.core.version.InternalVersionManagerBase.setVersionLabel(InternalVersionManagerBase.java:710)
at
org.apache.jackrabbit.core.version.InternalVersionManagerImpl$6.run(InternalVersionManagerImpl.java:517)
at
org.apache.jackrabbit.core.version.InternalVersionManagerImpl$DynamicESCFactory.doSourced(InternalVersionManagerImpl.java:770)
at
org.apache.jackrabbit.core.version.InternalVersionManagerImpl.setVersionLabel(InternalVersionManagerImpl.java:514)
at
org.apache.jackrabbit.core.version.InternalXAVersionManager.setVersionLabel(InternalXAVersionManager.java:281)
at
org.apache.jackrabbit.core.version.VersionHistoryImpl.addVersionLabel(VersionHistoryImpl.java:166)
at com.liferay.documentlibrary.util.JCRHook.updateFile(JCRHook.java:850)
at
com.liferay.documentlibrary.util.HookProxyImpl.updateFile(HookProxyImpl.java:256)
Error stack trace:
dptl02-ads\logs\dptl02-ads.log82073. Log messages will continue to be logged in
D:\lch\beadomains\dptl02-wld\servers\dptl02-ads\logs\dptl02-ads.l
og.>
13:06:39,817 ERROR [jsp:154]
com.liferay.portal.kernel.exception.SystemException:
javax.jcr.ReferentialIntegrityException: Unable to remove versi
on. At least once referenced.
at com.liferay.documentlibrary.util.JCRHook.deleteFile(JCRHook.java:421)
at
com.liferay.documentlibrary.util.HookProxyImpl.deleteFile(HookProxyImpl.java:111)
at
com.liferay.documentlibrary.util.SafeFileNameHookWrapper.deleteFile(SafeFileNameHookWrapper.java:166)
at
com.liferay.documentlibrary.service.impl.DLLocalServiceImpl.deleteFile(DLLocalServiceImpl.java:138)
at
com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.updateFileEntry(DLFileEntryLocalServiceImpl.java:1089)
at
com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.updateFileEntry(DLFileEntryLocalServiceImpl.java:936)
at
com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portlet.documentlibrary.service.impl.DLFileEntryServiceImpl.updateFileEntry(DLFileEntryServiceImpl.java:550)
at
com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
at
com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
Caused by: javax.jcr.ReferentialIntegrityException: Unable to remove version.
At least once referenced.
at
org.apache.jackrabbit.core.version.InternalVersionHistoryImpl.removeVersion(InternalVersionHistoryImpl.java:406)
at
org.apache.jackrabbit.core.version.InternalVersionManagerBase.internalRemoveVersion(InternalVersionManagerBase.java:684)
at
org.apache.jackrabbit.core.version.InternalVersionManagerImpl$5.run(InternalVersionManagerImpl.java:496)
at
org.apache.jackrabbit.core.version.InternalVersionManagerImpl$DynamicESCFactory.doSourced(InternalVersionManagerImpl.java:770)
at
org.apache.jackrabbit.core.version.InternalVersionManagerImpl.removeVersion(InternalVersionManagerImpl.java:494)
at
org.apache.jackrabbit.core.version.InternalXAVersionManager.removeVersion(InternalXAVersionManager.java:264)
at
org.apache.jackrabbit.core.version.VersionHistoryImpl.removeVersion(VersionHistoryImpl.java:253)
at com.liferay.documentlibrary.util.JCRHook.deleteFile(JCRHook.java:413)
at
com.liferay.documentlibrary.util.HookProxyImpl.deleteFile(HookProxyImpl.java:111)
at
com.liferay.documentlibrary.util.SafeFileNameHookWrapper.deleteFile(SafeFileNameHookWrapper.java:166)
at
com.liferay.documentlibrary.service.impl.DLLocalServiceImpl.deleteFile(DLLocalServiceImpl.java:138)
Note: when i created new workspace, i have not touched the versioning
configuration where both the workspaces contains the versioing DB schema.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira