HCL Commerce Version 9.1.13.0 or later

Recopilación de datos MustGather relacionados con la búsqueda basada ​​en Elasticsearch para actualizaciones en tiempo casi real (NRT)

Prepare la siguiente información MustGather antes de ponerse en contacto con el soporte de HCL para ayudarle con el proceso de resolución de problemas.

About this task

Este MustGather se puede utilizar para investigar la causa de los problemas de NRT basados ​​en Elasticsearch. Si está intentando responder una de las siguientes preguntas, este es el MustGather que querrá utilizar:

  1. ¿Por qué un cambio que he realizado en Management Center en los objetos de catálogo (SKU, variantes, productos, etc.) no aparece en el escaparate?
  2. ¿Por qué los cambios de subida de mi catálogo no aparecen en el escaparate?
  3. ¿Por qué los cambios de carga de datos de mi catálogo no aparecen en el escaparate?

Procedure

  1. Suscríbase al tema WCNifiDistributedMapCache en Redis.
    [root@mymachine ~]# docker exec -it commerce_redis_1 bash I have no name!@c155d5fa5da1:/$ redis-cli 127.0.0.1:6379> subscribe {cache-auth-services/cache/WCNifiDistributedMapCache}-invalidation Reading messages... (press Ctrl-C to quit)
  2. Habilite el siguiente rastreo en el servidor de transacciones.
    *=info:com.ibm.commerce.catalog.commands.*=all:com.ibm.commerce.catalog.facade.server.helpers.RuleBasedCategoryHelper=all:com.ibm.commerce.catalog.changehistory.*=all:com.ibm.commerce.foundation.internal.server.services.changehistory.*=all:com.ibm.commerce.foundation.server.services.changehistory.*=all:com.ibm.commerce.foundation.server.command.bod.BusinessObjectDocumentProcessor=all 
  3. Reproduzca el problema de NRT. Registre los pasos específicos que ha utilizado para reproducir el problema y cualquier detalle que pueda ser relevante (por ejemplo, valores catentryId para SKU, variantes o productos modificados, o valores catgroupId para categorías modificadas).
  4. Recopile los archivos de rastreo generados en el siguiente directorio del servidor de transacción.
    /opt/WebSphere/AppServer/profiles/default/logs/container/{{container_name}}/
  5. Tenga en cuenta todos los mensajes indicados en el tema WCNifiDistributedMapCache en Redis.

What to do next

Revisión de los datos

Evento de historial de cambios
Cuando se realiza un cambio de catálogo en Management Center o se ejecuta una subida de datos/catálogo, se genera un evento de historial de cambios para realizar un rastreo de este cambio. Por ejemplo, he cambiado el producto "Hawthorne Towel" (catentryId 14503 en nuestro catálogo predeterminado) para que tenga el nombre "Hawthorne Towel TEST123". La búsqueda de la solicitud BOD ChangeCatalogEntry mostrará la nueva definición que se utilizará para este producto:
[7/6/23 16:41:52:073 GMT] 000000f6 BusinessObjec > com.ibm.commerce.foundation.server.command.bod.BusinessObjectDocumentProcessor processBusinessObjectDocument(BusinessObjectDocumentType, String) ENTRY <?xml version="1.0" encoding="UTF-8"?> <_cat:ChangeCatalogEntry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:_cat="http://www.ibm.com/xmlns/prod/commerce/9/catalog" xmlns:_wcf="http://www.ibm.com/xmlns/prod/commerce/9/foundation" xmlns:oa="http://www.openapplications.org/oagis/9" releaseID="9.0" versionID="7.0.0.0"> <oa:ApplicationArea xsi:type="_wcf:ApplicationAreaType"> <oa:CreationDateTime>2023-07-06T16:41:52.071Z</oa:CreationDateTime> <oa:BODID>01fa58b0-1c1c-11ee-945e-8330646aed01</oa:BODID> <_wcf:BusinessContext intent="Authoring"> <_wcf:ContextData name="timeZoneId">GMT</_wcf:ContextData> <_wcf:ContextData name="locale">en_US</_wcf:ContextData> <_wcf:ContextData name="storeId">11</_wcf:ContextData> </_wcf:BusinessContext> </oa:ApplicationArea> <_cat:DataArea> <oa:Change> <oa:ActionCriteria> <oa:ActionExpression actionCode="Change" expressionLanguage="_wcf:XPath">/CatalogEntry[1]/Description[1]</oa:ActionExpression> </oa:ActionCriteria> </oa:Change> <_cat:CatalogEntry> <_cat:CatalogEntryIdentifier> <_wcf:UniqueID>14503</_wcf:UniqueID> </_cat:CatalogEntryIdentifier> <_cat:Description language="-1"> <_cat:Name>Hawthorne Towel TEST123</_cat:Name> </_cat:Description> <_wcf:SEOURL> <_wcf:ParentStoreIdentifier> <_wcf:UniqueID>11</_wcf:UniqueID> </_wcf:ParentStoreIdentifier> </_wcf:SEOURL> </_cat:CatalogEntry> </_cat:DataArea> </_cat:ChangeCatalogEntry> com.ibm.commerce.catalog 
Para confirmar que se ha creado un evento de historial de cambios para este cambio, puede buscar el resultado de rastreo de EchoBusinessObjectChangeHistoryDelegateMediatorImpl.createChangeHistory(). Por ejemplo, a continuación se muestra el rastreo de la creación de eventos del historial de cambios para la actualización de "Hawthorne Towel" mencionada anteriormente.
[7/6/23 16:41:52:819 GMT] 000000f6 EchoBusinessO 1 com.ibm.commerce.foundation.server.services.changehistory.mediator.EchoBusinessObjectChangeHistoryDelegateMediatorImpl createChangeHistory The change history record to be created is: com.ibm.commerce.foundation.internal.server.services.changehistory.beans.TaskGroupChangeHistoryDataSet@a87cbc8e objectId = 14503 ui_object_name = Product objectType = CatalogEntry objectCode = MPHBA031_3103 MEMBER_ID = -1000 LASTUPDATE = 2023-07-06 16:41:52.793 ACTION = U STOREENT_ID = 12001 WORKSPACE = IBM_WC_BASE TASKGRP = IBM_WC_BASE TASK = null 
Para confirmar que se ha generado un mensaje de Redis para el evento del historial de cambios, puede buscar el resultado del rastreo de EchoBusinessObjectChangeHistoryDelegateMediatorImpl.sendRedisChangeHistoryEvent(). Por ejemplo, a continuación se muestra el rastreo del mensaje que se envía a Redis para el evento del historial de cambios anterior.
[7/6/23 16:41:52:863 GMT] 000000f6 EchoBusinessO 1 com.ibm.commerce.foundation.server.services.changehistory.mediator.EchoBusinessObjectChangeHistoryDelegateMediatorImpl sendRedisChangeHistoryEvent [{"workspace":"IBM_WC_BASE","objectCode":"MPHBA031_3103","catalogId":"11001","changeHistoryId":"10544","languageId":"-1","action":"U","nounName":"CatalogEntry","storeId":"12001","changeHistoryEventId":"1688661712825","objectId":"14503","taskGroup":"IBM_WC_BASE","actionDetail":{"updateSEOURL":"true"}}] 
Mensajes de Redis
Cuando se suscriba al tema WCNifiDistributedMapCache en Redis, verá que se envían mensajes a este tema para informar que se ha producido un evento NRT y que se iniciará una recopilación para incorporar esos cambios. Por ejemplo, este es el mensaje vinculado a la actualización realizada en Management Center.
[root@mymachine ~]# docker exec -it commerce_redis_1 bash I have no name!@c155d5fa5da1:/$ redis-cli 127.0.0.1:6379> subscribe {cache-auth-services/cache/WCNifiDistributedMapCache}-invalidation Reading messages... (press Ctrl-C to quit) 1) "message" 2) "{cache-auth-services/cache/WCNifiDistributedMapCache}-invalidation" 3) "[p:3e8153eee071;t:1688661712872]> {\"workspace\":\"IBM_WC_BASE\",\"objectCode\": \"MPHBA031_3103\",\"catalogId\":\"11001\",\"changeHistoryId\":\"10544\",\"languageId\": \"-1\",\"action\":\"U\",\"nounName\":\"CatalogEntry\",\"storeId\":\"12001\",\"changeHistoryEventId\": \"1688661712825\",\"objectId\":\"14503\",\"taskGroup\":\"IBM_WC_BASE\",\"actionDetail\": {\"updateSEOURL\":\"true\"}}"
Si está realizando un cambio que afectará a sus espacios de trabajo, puede que también vea un mensaje de WorkspaceEvent similar al siguiente.
1) "message" 2) "{cache-auth-services/cache/WCNifiDistributedMapCache}-invalidation" 3) "[p:616516a9bc98;t:1688661761125]> {\n\t\"nounName\": \"WorkspaceEvent\",\n\t\"storeId\": \"12001\",\n\t\"languageId\": \"-1\",\n\t\"catalogId\": \"11001\",\n\t\"workspace\": \"IBM_WC_BASE\",\n\t\"taskGroup\": \"IBM_WC_BASE\",\n\t\"objectId\" : \"14503\",\n\t\"runId\" : \"wn-b345b49e-40e2-4806-a391-d84a022d4c12\",\n\t\"workspaceEventDetails\": {\n\t\t\"workspaceEventMasterCatalogId\": \"11001\",\n\t\t\"workspaceEventSupportedCatalog\": \"11001,11502,11501\",\n\t\t\"workspaceEventDefaultCatalog\": \"\",\n\t\t\"workspaceEventConnectorName\": \"auth.product.cas\"\n\t}\n}"