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

Reply via email to