Collecting Elasticsearch based search-related MustGather data for Near-Real-Time (NRT) updates
Prepare the following MustGather information before you contact HCL Support to help with the troubleshooting process.
About this task
This MustGather can be used to investigate the cause of Elasticsearch-based NRT issues. If you are trying to answer one of the following questions, this is the MustGather you will want to use:
- Why am I not seeing a change made in Management Center to catalog objects (SKUs, variants, products, etc) visible on the storefront?
- Why am I not seeing my catalog upload changes visible on the storefront?
- Why am I not seeing my dataload changes to my catalog visible on the storefront?
Procedure
-
Subscribe to the
WCNifiDistributedMapCache
topic in 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)
-
Enable the following tracing on the Transaction server.
*=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
- Reproduce your NRT issue. Record the specific steps that you used to reproduce the problem and any details that might be relevant (for example, catentryId values for modified SKUs, variants, or products, or catgroupId values for modified categories).
-
Collect the trace files generated in the following directory on your
Transaction server.
/opt/WebSphere/AppServer/profiles/default/logs/container/{{container_name}}/
-
Note all the messages reported to the
WCNifiDistributedMapCache
topic in Redis.
What to do next
Reviewing the data
- Change History Event
- When a catalog change in made in Management Center or a dataload/catalog upload is ran, a change history event is generated to track this change. For example, I changed the "Hawthorne Towel" product (catentryId 14503 in our default catalog) to have name "Hawthorne Towel TEST123". Searching for the ChangeCatalogEntry BOD request will show the new definition for this product to be used:
- Redis messages
- When subscribed to the
WCNifiDistributedMapCache
topic in Redis, you will see messages sent to this topic to report that an NRT event occurred and an ingest is to be kicked off to pull in these changes. For example, here is the message tied to the update made in Management Center.