Article - CS364546

"Find in Structure" is slow in Product Structure Browser in Windchill PDMLink

Modified: 05-Mar-2026   


Applies To

  • Windchill PDMLink 12.0 to 13.1

Description

  • Structure Tab > Search keeps loading indefinitely for certain large structure
  • Windchill UI spins and becomes unresponsive until the proxy error pop-up appears
  • Unable to perform search in PSB; the searching icon keeps spinning. Error in logs:
  • com.ptc.windchill.csm.util.CLFAccessUtils <username> - Unable to fetch OOTB Classification Administrators group. No users will have access to CLF admin
  • Find in Structure is slow in Product Structure Browser 
    • The View has soft attributes/IBA configured
  • Getting a 502 Proxy error while they searching on a BOM structure
  • Several locks in database observed creating a huge CPU load on database slowing down Windchill
  • Query takes long time to be executed  :
    • SELECT 0 indexAlias,10,A0.idA2A2,A0.updateCountA2,A0.classnameA2A2,ABS(NULL),A0.branchIdA2typeDefinitionRefe
      FROM WTPart A0,
        (SELECT A0.idA2A2 alias1
         FROM WTPart A0
         WHERE ((A0.idA2A2 IN
                   (SELECT /*+ CARDINALITY(wtot 500) */ *
                    FROM TABLE(cast(:1 AS GUEST.TABLE_OF_NUMBER)) wtot
                    WHERE (ROWNUM > 0)
                      AND (column_value IS NOT NULL))))) A1
      WHERE (((A0.adhocVersionInfo IS NULL)
              AND ((A0.idA2A2 IN (
                                    (SELECT A0.idA2A2
                                     FROM WTPart A0
                                     WHERE ((UPPER(A0.source) LIKE '%0Z1035%')))
                                  UNION
                                    (SELECT A0.idA2A2
                                     FROM WTPart A0,
                                          WTPartMaster A0B
                                     WHERE (A0.idA3masterReference=A0B.idA2A2)
                                       AND ((A0B.WTPartNumber LIKE '%0Z1035%')))
                                  UNION
                                    (SELECT A0.idA2A2
                                     FROM WTPart A0,
                                          WTPartMaster A0B
                                     WHERE (A0.idA3masterReference=A0B.idA2A2)
                                       AND ((UPPER(A0B.name) LIKE '%0Z1035%')))
                                  UNION
                                    (SELECT A0.idA2A2
                                     FROM WTPart A0
                                     WHERE ((A0.idA2A2 IN (
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :2)
                                                                      AND (A1.classnamekeyA4 = :3)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :4)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))
                                                           UNION
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :5)
                                                                      AND (A1.classnamekeyA4 = :6)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :7)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))
                                                           UNION
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :8)
                                                                      AND (A1.classnamekeyA4 = :9)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :10)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))
                                                           UNION
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :11)
                                                                      AND (A1.classnamekeyA4 = :12)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :13)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))
                                                           UNION
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :14)
                                                                      AND (A1.classnamekeyA4 = :15)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :16)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))
                                                           UNION
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :17)
                                                                      AND (A1.classnamekeyA4 = :18)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :19)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))
                                                           UNION
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :20)
                                                                      AND (A1.classnamekeyA4 = :21)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :22)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))
                                                           UNION
                                                             (SELECT A0.idA2A2
                                                              FROM WTPart A0,
                                                                   StringValue A1
                                                              WHERE (((A1.idA3A6 = :23)
                                                                      AND (A1.classnamekeyA4 = :24)
                                                                      AND (A1.idA3A4 = A0.idA2A2)
                                                                      AND ((A1.idA3A5 = :25)
                                                                           OR (A1.idA3A5 IS NULL)))
                                                                     AND (A1.value LIKE '%0Z1035%')))))))))
                   AND ((A0.statecheckoutInfo IS NULL)
                        OR (((A0.iopStateinteropInfo IS NULL)
                             OR (A0.iopStateinteropInfo NOT IN (:26,
                                                                :27,
                                                                :28,
                                                                :29,
                                                                :30)))
                            AND (((A0.statecheckoutInfo NOT IN (:31,
                                                                :32,
                                                                :33,
                                                                :34,
                                                                :35))
                                  AND (A0.idA2A2 NOT IN
                                         (SELECT A0.idA2A2
                                          FROM WTPart A0
                                          WHERE ((A0.idA3A2lock = :36)))))
                                 OR ((A0.statecheckoutInfo = :37)
                                     AND (A0.idA3B2iterationInfo = :38)))))
                   AND ((A0.statecheckoutInfo IS NULL)
                        OR (((A0.iopStateinteropInfo IS NULL)
                             OR (A0.iopStateinteropInfo NOT IN (:39,
                                                                :40,
                                                                :41,
                                                                :42,
                                                                :43)))
                            AND (((A0.statecheckoutInfo NOT IN (:44,
                                                                :45,
                                                                :46,
                                                                :47,
                                                                :48))
                                  AND (A0.idA2A2 NOT IN
                                         (SELECT A0.idA2A2
                                          FROM WTPart A0
                                          WHERE ((A0.idA3A2lock = :49)))))
                                 OR ((A0.statecheckoutInfo = :50)
                                     AND (A0.idA3B2iterationInfo = :51)))))))
             AND (A0.idA2A2 = A1.alias1))
      UNION ALL
      SELECT 1 indexAlias,11,A0.idA2A2,A0.updateCountA2,A0.classnameA2A2,ABS(NULL),A0.branchIdA2typeDefinitionRefe
      FROM WTPartUsageLink A0,
        (SELECT A0.idA2A2 alias2
         FROM WTPartUsageLink A0
         WHERE ((A0.idA2A2 IN
                   (SELECT /*+ CARDINALITY(wtot 600) */ *
                    FROM TABLE(cast(:52 AS GUEST.TABLE_OF_NUMBER)) wtot
                    WHERE (ROWNUM > 0)
                      AND (column_value IS NOT NULL))))) A1
      WHERE ((A0.idA2A2 IN (
                              (SELECT A0.idA2A2
                               FROM WTPartUsageLink A0
                               WHERE ((UPPER(A0.cadSynchronized) LIKE '%0Z1035%')))
                            UNION
                              (SELECT A0.idA2A2
                               FROM WTPartUsageLink A0
                               WHERE ((UPPER(A0.unitA7) LIKE '%0Z1035%')))
                            UNION
                              (SELECT A0.idA2A2
                               FROM WTPartUsageLink A0,
                                    StringValue A1
                               WHERE (((A1.idA3A6 = :53)
                                       AND (A1.classnamekeyA4 = :54)
                                       AND (A1.idA3A4 = A0.idA2A2)
                                       AND ((A1.idA3A5 = :55)
                                            OR (A1.idA3A5 IS NULL)))
                                      AND (A1.value LIKE '%0Z1035%')))))
             AND (A0.idA2A2 = A1.alias2))
      UNION ALL
      SELECT 2 indexAlias,12,A0.idA2A2,A0.updateCountA2,A0.classnameA2A2,ABS(NULL),ABS(NULL)
      FROM WTPartMaster A0,
        (SELECT A0.idA2A2 alias3
         FROM WTPartMaster A0
         WHERE ((A0.idA2A2 IN
                   (SELECT /*+ CARDINALITY(wtot 500) */ *
                    FROM TABLE(cast(:56 AS GUEST.TABLE_OF_NUMBER)) wtot
                    WHERE (ROWNUM > 0)
                      AND (column_value IS NOT NULL))))) A1
      WHERE (((A0.WTPartNumber LIKE '%0Z1035%')
              OR (UPPER(A0.name) LIKE '%0Z1035%'))
             AND (A0.idA2A2 = A1.alias3))
      
        at app//wt.fc.jmx.TopSQLTraceTimingLogger.processEntry(TopSQLTraceTimingLogger.java:92)
        at app//wt.fc.jmx.AbstractTraceTimingLogger.addEndEntry(AbstractTraceTimingLogger.java:134)
        at app//wt.util.TraceTimingCompositeLogger.lambda$addEndEntry$1(TraceTimingCompositeLogger.java:41)
        at app//wt.util.TraceTimingCompositeLogger$$Lambda$293/0x00000007c0e10440.accept(Unknown Source)
        at [email protected]/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
        at app//wt.util.TraceTimingCompositeLogger.addEndEntry(TraceTimingCompositeLogger.java:41)
        at app//wt.util.TraceTimingResource.close(TraceTimingResource.java:65)
        at app//wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:629)
        at app//wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:544)
        at app//wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:282)
        at app//wt.pds.BasicResultCursor.advance(BasicResultCursor.java:234)
        at app//wt.pds.BasicResultCursor.next(BasicResultCursor.java:82)
        at app//wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:880)
        at app//wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1077)
        at app//wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:986)
        at app//wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1972)
        at app//wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1465)
        at app//wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1351)
        at app//com.ptc.cat.assocnav.server.LightweightNavUnitFinder.executeDBQuery(LightweightNavUnitFinder.java:1959)
        at app//com.ptc.cat.assocnav.server.LightweightNavUnitFinder.find(LightweightNavUnitFinder.java:465)
        at app//com.ptc.cat.ops.server.internal.FindAndNavigateOperation.run(FindAndNavigateOperation.java:167)
        at app//com.ptc.cat.ops.server.DefaultOperationDispatcher.dispatch(DefaultOperationDispatcher.java:155)
        at jdk.internal.reflect.GeneratedMethodAccessor3023.invoke(Unknown Source)
        at [email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at [email protected]/java.lang.reflect.Method.invoke(Method.java:566)
        at app//com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)
        at app//com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:571)
        at app//com.ptc.mvc.gwt.GwtHandlerAdapter.processCall(GwtHandlerAdapter.java:183)
        at app//com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)
        at app//com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
      
  • Find in Structure is not working as expected after upgrading to 12.1 release
This is a printer-friendly version of Article 364546 and may be out of date. For the latest version click CS364546