How to locate a recursive loop in WCM
Applies to
HCL Digital Experience v9.5 and higher
Introduction
Broad trace strings in HCL Digital Experience (DX) Web Content Manager (WCM) generate high log volumes that increase analysis time when troubleshooting high CPU usage or JVM hangs. Standard WCM troubleshooting typically uses the following trace string:
com.ibm.workplace.wcm.*=all:com.aptrix.*=all:com.presence.connect.*=all:com.ibm.wps.engine.Servlet=all
This broad trace string can result in log files containing thousands of repetitive entries, such as:
BaseReference > com.aptrix.pluto.cmpnt.BaseReferenceCmpnt retrieveCmpnt
ENTRY RenderContext [PlutoRequestContext
[hasDelegatedContentMappings=false, m_webAppUrl=WebAppURL
[m_url=https://myserver.mycompany.com/wps/wcm/connect/mySite/home/mySiteArea1/mySiteArea2/myContent,
Targeted component tracing provides a faster method to isolate specific WCM items caught in a recursive loop without generating excessive log data. This article describes how to isolate WCM items involved in recursive loops causing high CPU usage or JVM hangs using targeted component tracing.
Instructions
To locate a recursive loop caused by a WCM item, perform the following steps:
-
Enable targeted tracing using the following trace string:
com.aptrix.pluto.cmpnt.*=allFor detailed instructions on setting trace levels in the WebSphere Application Server (WAS) administration console, refer to HCL Web Content Manager Tracing.
-
Parse
trace.logforretrieveCmpntentries using one of the following commands:-
Monitor log output in real time:
tail -f trace.log | grep -i retrieveCmpnt -
Search across multiple trace log files for component retrievals and item paths:
grep -e retrieveCmpnt -e itemPath trace*.log
-
-
Review the command output for WCM items that recur disproportionately compared to other items to identify items involved in the recursive loop.
- Search backward through trace files for
getByUUID Getting object with UUIDmessages to locate recurring objects.