Publicar ativos travados no status "Mais tarde"

Última atualização em 2023-01-11

Descrição

Ambiente

Adobe Experience Manager

Problema/Sintomas

Um cliente apresentou uma falha contínua ao publicar vários ativos, especialmente imagens. Muitas vezes, as imagens ficavam presas em um status infinito "Mais tarde" enquanto, em outros momentos, ficavam presas no estado "Pendente", falhando em "Não publicado".

Ao tentar "Publicação rápida" de um ativo, a variável error.log exibe o seguinte:

error.log

*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*

Resolução

Como pode ser visto no error.log, o problema é causado por "javax.jcr.ValueFormatException: cq:tags = value is single-valued"

O cq:tags na verdade, a propriedade é String Array, que é uma propriedade com vários valores. No entanto, neste caso, era do tipo String que levaram ao erro.

Ao alterar o cq:tags tipo de propriedade para String Array, o ativo foi publicado com êxito.

Link da documentação

Mais ajuda sobre o cq:tags pode ser encontrada no link da documentação a seguir:
https://experienceleague.adobe.com/docs/experience-manager-65/developing/platform/tagging/framework.html?lang=en

Nesta página