Article

pool.sizeof.ObjectGraphWalker WARN - The configured limit of 1,000 object references was reached while attempting to calculate the size of the object graph.

« Go Back

Information

 
Article Number000062959
EnvironmentProduct: OpenEdge BPM
Version 11.x
OS: All Supported Operating Systems
Question/Problem Description
How to address the following warning message in oebps.log:

pool.sizeof.ObjectGraphWalker WARN - The configured limit of 1,000 object references was reached while attempting to calculate the size of the object graph. Severe performance degradation could occur if the sizing operation continues. This can be avoided by setting the CacheManger or Cache <sizeOfPolicy> elements maxDepthExceededBehavior to "abort" or adding stop points with @IgnoreSizeOf annotations. If performance degradation is NOT an issue at the configured limit, raise the limit value using the CacheManager or Cache <sizeOfPolicy> elements maxDepth attribute. For more information, see the Ehcache configuration documentation. 
 
Steps to Reproduce
Clarifying Information
This warning occurs when the cache manager, during the cache sizing process, traverses more than 1000 linked objects in any objects graph. 
Error Message
Defect/Enhancement Number
Cause
Resolution

Control how deep the size-of engine can go when sizing on-heap elements by adding the following element at the CacheManager level:

<sizeOfPolicy maxDepth="<value>"  maxDepthExceededBehavior="<value>"/>


This element has the following attributes
  • maxDepth – Controls how many linked objects can be visited before the size-of engine takes any action. This attribute is required.
  • maxDepthExceededBehavior – Specifies what happens when the max depth is exceeded while sizing an object graph: 
  • "continue" – DEFAULT Forces the size-of engine to log a warning and continue the sizing operation. If this attribute is not specified, "continue" is the behavior used.
  • "abort" – Forces the SizeOf engine to abort the sizing, log a warning, and mark the cache as not correctly tracking memory usage. With this setting, Ehcache.hasAbortedSizeOf() returns true.

Add the above element to the following files: 

OEBPS_HOME/server/config/resources/common/distcache/template/ehcache/sbm_ejb_cache.template 
OEBPS_HOME/server/config/resources/common/distcache/template/ehcache/sbm_ejbweb_cache.template 
OEBPS_HOME/server/config/resources/common/distcache/template/ehcache/sbm_web_cache.template
Workaround
Notes
Attachment 
Last Modified Date8/27/2015 1:04 PM


Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025