3

I was working on the Tridion Sites 9.6 PoolParty Integration for the headless implementation.

In the Tridion Sites 9.6, I was able to get it working PoolParty connectors for the Taxonomies ON CM side. And then tried to publish to DXD using data-template-less publishing. but my publishing got failed on the deployer side, spent quite some research and found the issue. Just sharing this knowledge with other community users.

Publishing queue error message:

Deploying Failed - Phase: Deployment Processing Phase failed. Unable to process ES indexing.

Here are the deployer logs:

2022-12-15 09:36:51,435 ERROR [ProcessingAkkaSpringContext-akka.actor.default-dispatcher-16] TcmModelIndexer - All indexing operations failed. Please review the failed operations in iq-indexing-error.log 2022-12-15 09:36:51,435 ERROR [ProcessingAkkaSpringContext-akka.actor.default-dispatcher-16] TcmModelIndexer - Failing publish transaction completely, as we're configured to do so. 2022-12-15 09:36:51,435 ERROR [ProcessingAkkaSpringContext-akka.actor.default-dispatcher-16] TridionSearchIndexDeployStep - Unable to process ES indexing. com.sdl.delivery.deployer.steps.TridionContentDataException: All indexing operations failed. Please review the failed operations in iq-indexing-error.log at com.tridion.deployer.modules.index.TcmModelIndexer.processIndexOperationResponses(TcmModelIndexer.java:286) at com.tridion.deployer.modules.index.TcmModelIndexer.index(TcmModelIndexer.java:224) at com.sdl.delivery.deployer.steps.TridionSearchIndexDeployStep.process(TridionSearchIndexDeployStep.java:194) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor.execute(StepActor.scala:73) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor.com$sdl$delivery$deployer$engine$pipeline$actor$StepActor$$processStep(StepActor.scala:58) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor$$anonfun$receive$1.applyOrElse(StepActor.scala:41) at akka.actor.Actor.aroundReceive(Actor.scala:539) at akka.actor.Actor.aroundReceive$(Actor.scala:537) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor.aroundReceive(StepActor.scala:27) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:614) at akka.actor.ActorCell.invoke(ActorCell.scala:583) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268) at akka.dispatch.Mailbox.run(Mailbox.scala:229) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) 2022-12-15 09:36:51,653 ERROR [ProcessingAkkaSpringContext-akka.actor.default-dispatcher-15] DefaultIndexingClient - com.sdl.delivery.iq.index.client.http.ApiException: at com.sdl.delivery.iq.index.client.http.ApiClient.handleUnsuccessfulResponse(ApiClient.java:1035) at com.sdl.delivery.iq.index.client.http.ApiClient.handleResponse(ApiClient.java:993) at com.sdl.delivery.iq.index.client.http.ApiClient.execute(ApiClient.java:907) at com.sdl.delivery.iq.index.client.http.ApiClient.execute(ApiClient.java:890) at com.sdl.delivery.iq.index.client.api.IndexApi.createOrReplaceUsingPUT(IndexApi.java:203) at com.sdl.delivery.iq.index.client.DefaultIndexingClient.lambda$sendToIndex$1(DefaultIndexingClient.java:75) at com.sdl.delivery.iq.index.client.DefaultIndexingClient.performSendToIndex(DefaultIndexingClient.java:170) at com.sdl.delivery.iq.index.client.DefaultIndexingClient.sendToIndex(DefaultIndexingClient.java:74) at com.sdl.delivery.iq.index.client.DefaultIndexer.sendToIndex(DefaultIndexer.java:60) at com.tridion.deployer.modules.index.TcmModelIndexer.index(TcmModelIndexer.java:222) at com.sdl.delivery.deployer.steps.TridionSearchIndexDeployStep.process(TridionSearchIndexDeployStep.java:194) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor.execute(StepActor.scala:73) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor.com$sdl$delivery$deployer$engine$pipeline$actor$StepActor$$processStep(StepActor.scala:58) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor$$anonfun$receive$1.applyOrElse(StepActor.scala:41) at akka.actor.Actor.aroundReceive(Actor.scala:539) at akka.actor.Actor.aroundReceive$(Actor.scala:537) at com.sdl.delivery.deployer.engine.pipeline.actor.StepActor.aroundReceive(StepActor.scala:27) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:614) at akka.actor.ActorCell.invoke(ActorCell.scala:583) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268) at akka.dispatch.Mailbox.run(Mailbox.scala:229) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)

IQ Index service logs:

2022-12-15 09:36:51,341 ERROR [http-nio2-8097-exec-9] DocumentController - Couldn't perform create/update request. com.sdl.delivery.iq.index.api.provider.IndexProviderException: method [PUT], host [http://localhost:9200], URI [/udp-index/_doc/tcm_5-373], status line [HTTP/1.1 400 Bad Request] {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse"}],"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"illegal_argument_exception","reason":"analyzer [analyzer_pparty1] has not been configured in mappings"}},"status":400} at com.sdl.delivery.iq.index.provider.elastic.ElasticSearchIndexProvider.handleResponseExceptionForCreate(ElasticSearchIndexProvider.java:534) at com.sdl.delivery.iq.index.provider.elastic.ElasticSearchIndexProvider.lambda$documentCreateOrUpdate$0(ElasticSearchIndexProvider.java:165) at com.sdl.delivery.iq.index.provider.elastic.api.DefaultDocumentApi.handleResponseException(DefaultDocumentApi.java:147) at com.sdl.delivery.iq.index.provider.elastic.api.DefaultDocumentApi.access$100(DefaultDocumentApi.java:37) at com.sdl.delivery.iq.index.provider.elastic.api.DefaultDocumentApi$HandlingHelper.process(DefaultDocumentApi.java:133) at com.sdl.delivery.iq.index.provider.elastic.api.DefaultDocumentApi.createOrUpdate(DefaultDocumentApi.java:73) at com.sdl.delivery.iq.index.provider.elastic.ElasticSearchIndexProvider.documentCreateOrUpdate(ElasticSearchIndexProvider.java:168) at com.sdl.delivery.iq.index.controller.v1.DocumentController.createOrUpdate(DocumentController.java:169) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at com.sdl.delivery.iq.controller.common.IqTraceLoggingInterceptor.doFilter(IqTraceLoggingInterceptor.java:150) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at com.sdl.web.readwrite.filter.ReadWriteFilter.doFilter(ReadWriteFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at com.tridion.ambientdata.web.AbstractAmbientDataServletFilter.doFilter(AbstractAmbientDataServletFilter.java:301) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:74) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114) at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1685) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1167) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:613) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:591) at java.base/sun.nio.ch.Invoker.invokeUnchecked(Unknown Source) at java.base/sun.nio.ch.Invoker$2.run(Unknown Source) at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Unknown Source) Caused by: org.elasticsearch.client.ResponseException: method [PUT], host [http://localhost:9200], URI [/udp-index/_doc/tcm_5-373], status line [HTTP/1.1 400 Bad Request] {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse"}],"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"illegal_argument_exception","reason":"analyzer [analyzer_pparty1] has not been configured in mappings"}},"status":400} at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:326) at org.elasticsearch.client.RestClient.performRequest(RestClient.java:296) at org.elasticsearch.client.RestClient.performRequest(RestClient.java:270) at com.sdl.delivery.iq.index.provider.elastic.api.DefaultDocumentApi$HandlingHelper.process(DefaultDocumentApi.java:131) ... 96 common frames omitted

1 Answer 1

5

In my case, I missed uploading the deployer-taxonomy add-on package to the add-on service, add-on package can be found in this location on the Installation media. after uploading the package to the add-on service and restarting the deployer then my publishing worked fine.

  • \TridionSites9.6\Content Delivery\roles\deployer\add-ons\udp-deployer-taxonomy-extension-assembly-11.6.0-1374-search-config.json
  • \TridionSites9.6\Content Delivery\roles\deployer\add-ons\udp-deployer-taxonomy-extension-assembly-11.6.0-1374-search-config.json

Troubleshooting background:

If you find your item eg Component or Page is failing to publish when it contains a Pool Party concept, it is most likely that there is something wrong with your setup.

When looking in the IQ indexer logs you see something like:-

analyzer {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse"}],"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"illegal_argument_exception","reason":"analyzer [analyzer_cocktails] has not been configured in mappings"}},"status":400}

When publishing a Component that contains a Concept scheme that is not in your concept index, this scheme should be automatically indexed by the Deployer, using the JSON config passed to the Connector extension.

  1. Check that Deployer connectors folder

If there is something wrong with your setup, then you will be missing the PoolParty connector in deployer\standalone\connectors folder eg what you should be seeing:-

enter image description here

Look for PoolParty Connector-Connector-....... If it's not there, there is something wrong with your setup.

  1. Check your are passing the CD environment type to your service (staging/live)

  2. Check the Pool party connector and deployer-taxonomy add-on packages are added and updated configurations as expected. enter image description here

I hope it helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.