Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-40699

VerifyDocumentLibrary doesn't work for S3 setup

    Details

    • Type: Bug
    • Status: Closed
    • Resolution: Duplicate
    • Affects Version/s: 6.1.2 CE GA3
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      - Liferay 6.1.0 to be updated to 6.1.2
      - Running on Tomcat 7.0.42
      - MySQL 5.6.13
      - Document Library configured to run via S3Store on AWS S3

      Description

      I recently started exploring if we can update from our 6.1.0 version to 6.1.2. After setting up a new database and loading a dump of our Liferay database into it I started up the new installation of 6.1.2. The upgrade process started, added several indexes to the database etc. and then the verification process began. Up until "Verifying com.liferay.portal.verify.VerifyDocumentLibrary" everything went fine, but then the application got stuck.

      On the console I saw the same message over and over again:

      08:18:08,730 WARN  [Finalizer][HttpMethodReleaseInputStream:215] Attempting to release HttpMethod in finalize() as its response data stream has gone out of scope. This attempt will not always succeed and cannot be relied upon! Please ensure response data streams are always fully consumed or closed to avoid HTTP connection starvation.
      08:18:12,568 WARN  [Finalizer][HttpMethodReleaseInputStream:221] Successfully released HttpMethod in finalize(). You were lucky this time... Please ensure response data streams are always fully consumed or closed.
      

      Our Documents Library is setup to use S3 to store the uploaded files. This is where the problem lies, I believe. I started up the debugger and followed the application's progress through the VerifyDocumentLibrary class. It got stuck on verifying the mime types of the files. I guess it tries to check every single file for its mime type and afterwards it even tries doing the same for all file versions. I tried restarting the server with verify.frequency=0, but that didn't change anything. Looks like verification is mandatory after an upgrade.

      Im managed to avoid this by deleting all entries from DLFileEntry and DLFileVersion, but that is hardly a satisfying solution.

      Running through all files on the S3 only to check the mime types seems like a very unnecessary waste of time. It will always take ages to finish and the actual benefit is very questionable. I think this feature should be deactivated if the S3Store is being used or we should at least have a working configuration setting that allows us to skip this step (or the entire verification, if that's the only possible way).

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  5 years, 18 weeks, 5 days ago

                  Packages

                  Version Package