Publishing assets stuck on status “Later”

Description

One customer was facing continuous failures while publishing multiple assets, especially images.

Oftentimes their images got stuck on a neverending status “Later” while other times they were stuck on the state “Pending”, failing into “Not Published”.

Resolution

When trying to “Quick Publish” an asset, the following errors can be seen in error.log 1.

As mentioned in the error, the problem here is “javax.jcr.ValueFormatException: cq:tags = value is single-valued

According to 2 the cq:tags property is a “String Array” so it should be a multi-valued property, while in this case, it was of type String.
After changing the property’s type to “String Array” the asset was successfully published.

1 *IP 1653299068783 POST /libs/wcm/core/content/reference.json HTTP/1.1 org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught Throwable javax.servlet.ServletException: java.lang.RuntimeException: error while getting tags for ‘/content/dam/path-to-asset/jcr:content/metadata’ at com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServlet.doGet(ActivationReferenceSearchServlet.java:140) com.day.cq.wcm.cq-wcm-core:5.14.28 at com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServlet.doPost(ActivationReferenceSearchServlet.java:100) com.day.cq.wcm.cq-wcm-core:5.14.28 at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:146) org.apache.sling.api:2.25.0 at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342) org.apache.sling.api:2.25.0 at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:374) org.apache.sling.api:2.25.0 at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:583) org.apache.sling.engine:2.9.0 at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45) org.apache.sling.engine:2.9.0


Caused by: javax.jcr.ValueFormatException: cq:tags = value is single-valued. at org.apache.jackrabbit.oak.jcr.delegate.PropertyDelegate.getMultiState(PropertyDelegate.java:137) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at org.apache.jackrabbit.oak.jcr.session.PropertyImpl$6.perform(PropertyImpl.java:266) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at org.apache.jackrabbit.oak.jcr.session.PropertyImpl$6.perform(PropertyImpl.java:261) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:210) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at org.apache.jackrabbit.oak.jcr.session.PropertyImpl.getValues(PropertyImpl.java:261) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at com.day.cq.tagging.impl.JcrTagManagerImpl.getTags(JcrTagManagerImpl.java:797) com.day.cq.cq-tagging:5.13.12*

2 https://experienceleague.adobe.com/docs/experience-manager-65/developing/platform/tagging/framework.html?lang=en

On this page