Uploaded image for project: 'Service Packs and Hot Fixes'
  1. Service Packs and Hot Fixes
  2. MNT-9717

Failed to recover document from trashcan if document has "cm:failedThumbnailSource" aspect applied


    • Type: Service Pack Request
    • Status: Closed (View Workflow)
    • Resolution: Fixed
    • Affects Version/s: 4.1.4
    • Fix Version/s: 4.1.9
    • Component/s: Repository
    • Labels:
    • Environment:
      Oracle, Tomcat, RHEL


      A customer had an issue trying to recover a site from the trashcan. Everytime they tried the following exception was thrown:

      08:15:40,125 ERROR [org.alfresco.repo.node.archive.NodeArchiveServiceImpl] An unhandled exception stopped the restore
      org.springframework.dao.ConcurrencyFailureException: No node row exists:
      ID: 287231
      DB row: null
      at org.alfresco.repo.domain.node.AbstractNodeDAOImpl.getNodeNotNull(AbstractNodeDAOImpl.java:1168)
      at org.alfresco.repo.domain.node.AbstractNodeDAOImpl.getNodeType(AbstractNodeDAOImpl.java:1194)
      at org.alfresco.repo.node.db.DbNodeServiceImpl.moveNode(DbNodeServiceImpl.java:2638)
      at org.alfresco.repo.node.db.DbNodeServiceImpl.restoreNodeImpl(DbNodeServiceImpl.java:2524)
      at org.alfresco.repo.node.db.DbNodeServiceImpl.restoreNode(DbNodeServiceImpl.java:2467)
      at sun.reflect.GeneratedMethodAccessor612.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      at org.alfresco.repo.tenant.MultiTNodeServiceInterceptor.invoke(MultiTNodeServiceInterceptor.java:105)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
      at $Proxy15.restoreNode(Unknown Source)
      ...full stack trace in attached file (stackTrace.txt)

      Looking at the site in the archive store we could see that the entry for node id 287231 was a thumbnail generated for a word document.

      The word document also had another child thumbnail associated to it, in this case a "failed thumbnail". Because of this the document had the "cm:failedThumbnailSource" aspect applied.

      In order to be able to recover the site I had to remove the "cm:failedThumbnailSource" from the document with the following javascript:

      var document = search.findNode("archive://SpacesStore/657a5dfa-3b41-4d50-96ad-a6dd5db66165");

      and then I was able to recover the site from the trashcan

      • Steps to reproduce
        There is no reproducible scenario. This problem has happened on the customer environment and has been reported only once.
      • Current behaviour
        Restoring a site from the trashcan containing documents with failed thumbnails (and therefore the document have the cm:failedThumbnailSource aspec applied) fails and the attached exception is shown in alfresco.log file.
      • Expected behaviour
        We should be able to restore sites/documents containing failed thumbnails.


        1. stackTrace.txt
          11 kB
          Miguel Rodriguez
        2. WordDoc.html
          20 kB
          Miguel Rodriguez

          Issue Links



              • Assignee:
                closedbugs Closed Bugs
                mrodriguez Miguel Rodriguez
              • Votes:
                0 Vote for this issue
                6 Start watching this issue


                • Created:

                  Time Tracking

                  Original Estimate - Not Specified
                  Not Specified
                  Remaining Estimate - 0 minutes
                  Time Spent - 4 hours