Article - CS177841
How to size the Type and Attribute Definition caches to improve general performance in Windchill
Modified: 26-Dec-2025
Applies To
- Windchill PDMLink 10.0 to 13.1
- FlexPLM 10.2 to 13.0
- Windchill PartsLink 10.2 to 13.0
Description
- It takes long time or very slow to display pages which use Types or Attributes
- Sometimes it takes few seconds to display, but usually it takes long time, e.g. more than 1 minute to display, especially just after Windchill start up
- Many Windchill pages involve type or attributes, e.g.
- Pages with Table Views,e.g. folder page
- WTPart information/details page
- Affected or Resulting Objects of Change Task
- Folder content page, even it has few objects
- Select Affected/Resulting Objects page of Edit Change Task
- Structure tab of a Part
- Opening of an eBom
- Export Importable Spreadsheet
- Load the popup window of New Document or Part
- Slow Windchill loading pages, continues spinning wheel for different operations
- Open detail of workitem
- My Tasks table of home page
- The system defines many Types or Attributes
- Method Server may show warning below
Cache ClassificationEnumCache may by thrashing - consider increasing cache size
- Sometime the modification for Classification Structure will not take effect immediately
- Sometimes the modification for Global Enumeration List is not synchronizing to every slave node in cluster environment
- Sometimes the modification for Types or Attributes will take different results on different browsers
- Importing type takes very long time on one slave, but fast on the other slave
- Administrator receives ClassificationEnumCache overflow email
- Bulk indexing is slow
- Constraints on Classification Structure is not showing anything and throwing warning as below
- SQL and Stack Trace information as below
-
Total Seconds: 3.5615422 Total Calls: 2699 SQL Statement: SELECT 'com.ptc.core.lwc.server.LWCStructEnumAttTemplate',A0.administrativeLockIsNull,A0.typeadministrativeLock,A0.deletedId,A0.classnamekeydomainRef, A0.idA3domainRef,A0.inheritedDomain,A0.name,A0.namespace,A0.organizationScopeIsNull,A0.classnamekeyorganizationScop,A0.idA3organizationScope,A0.classnamekeyA4,A0.idA3A4, CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120) FROM LWCStructEnumAttTemplate A0 WHERE ((A0.idA3A4 = ?) AND (A0.deletedId IS NULL )) AND (A0.markForDeleteA2 = 0) Stack Trace: "ajp-bio-8012-exec-14" Id=9882 daemon prio=5 RUNNABLE at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:626) ... at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1108) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1017) at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1993) at wt.fc.StandardPersistenceManager._find(StandardPersistenceManager.java:2022) at wt.fc.StandardPersistenceManager.find(StandardPersistenceManager.java:681) at com.ptc.core.lwc.server.cache.db.TypeDefinitionDBService.getTypeDefinitionChildrenIds(TypeDefinitionDBService.java:572) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.getChildTypeDefIdsFromDB(TypeDefinitionManager.java:2405) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.updateCache(TypeDefinitionManager.java:2335) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.retrieveAndCacheType(TypeDefinitionManager.java:436) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.getTypeDefView(TypeDefinitionManager.java:392) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.ensureAllChildrenAreCached(TypeDefinitionManager.java:2433) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.getChildTypeDefViews(TypeDefinitionManager.java:1401) at com.ptc.core.lwc.server.StandardTypeDefinitionService.getChildTypeDefViews(StandardTypeDefinitionService.java:492) at com.ptc.core.lwc.common.dynamicEnum.provider.ClassificationEnumerationInfoProvider.getChildTypeDefViews(ClassificationEnumerationInfoProvider.java:337) at com.ptc.core.lwc.common.dynamicEnum.provider.ClassificationEnumerationInfoProvider.addChildEntriesRecursively(ClassificationEnumerationInfoProvider.java:230) The queries can also differ, for example: SELECT 'com.ptc.core.lwc.server.LWCPropertyValue',... FROM LWCPropertyValue A0 WHERE ((A0.idA3C4 = ?)) AND (A0.markForDeleteA2 = 0) SELECT 'com.ptc.core.lwc.server.LWCLocalizablePropertyValue',... FROM LWCLocalizablePropertyValue A0 WHERE ((A0.idA3C4 = ?)) AND (A0.markForDeleteA2 = 0)
-
This is a printer-friendly version of Article 177841 and may be out of date. For the latest version click CS177841