Jackrabbit Content Repository
  1. Jackrabbit Content Repository
  2. JCR-2986

Versioning error on file update on Multiple workspace configured Repository

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 2.2.1
    • Fix Version/s: None
    • Component/s: config
    • Labels:
      None
    • Environment:
      Windows XP; WebLogic Application server with Liferay Portal server

      Description

      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.

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Sarav
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development