Issue

After modifying an image's metadata in AEM Assets, the XMP metadata is not written back to the image.

In AEM (CQ) 5.5 and later, changes to the metadata of an asset are written back to the original binary as part of its XMP data. The AEM Metadata write-back workflow handles this process. The workflow uses the XMPWorker Linux fragment, which is a 32-bit native executable application that AEM runs on the OS shell.

This application is also used to optimally extract the existing XMP metadata from renditions. If the writeback fails (returns a WARN message in the server error.log file) on 64-bit Linux, your OS may not have 32-bit dynamic runtime environment installed to run 32-bit executables on 64-bit Linux.

Solution

To resolve the issue, you can install the 32-bit libraries for Redhat Enterprise Linux, CentOS, or SUSE Linux Enterprise Server (SLES). If you are running AEM 6.1 or lower, you can install a JAR file that includes the 64-bit XMP extraction binary for Redhat Enterprise Linux or CentOS.

Note:

Even if you want to extract metadata only, skipping the procedure can reduce your AEM instance's performance during metadata extraction of file types, such as PSD.

For optimal performance, Adobe recommends that the environment be set up correctly for XMPWorker.

Install 32-bit dynamic runtime environment

AEM 6.5 onwards, XMPFilesProcessor works on 64-bit Linux systems by default. For AEM 6.4 or earlier, follow these steps to install the 32-bit dynamic runtime environment for 64-bit Linux:

Install the 32-bit runtime libs by executing commands from the server's terminal (glibc may already be installed, but to be safe, the second command is included). For example, for RHEL, run the following commands:

yum install ld-linux.so.2

yum install glibc.i686

yum install libuuid.i686

Note:

To avoid any issues with installing the libuuid library, run the yum upgrade command before you run the yum install libuuid.i686 command. For other operating systems, run the equivalent upgrade/install commands to fetch the 32-bit libraries.

Restart AEM.

To verify if the setup is correct, locate the binary XMPFilesProcessor in the crx-quickstart folder, and run the command. Ensure that the output doesn't have any "not found" entries for the dependencies.