Article - CS252678

Index Search very slow or causes Solr Server to throw OutOfMemoryError in Windchill

Modified: 16-Dec-2025   


Applies To

  • Windchill PDMLink 10.2 to 13.0

Description

  • It is slow to perform Index search via Windchill.
    • For example, with a system which has 60 million objects indexed to Solr
      • Takes 40 seconds to return 10 results from Windchill
      • While performing same search against Solr directly, it takes few seconds only.
  • Also, Index Search may cause Solr BackgroundMethodServer to throw OutOfMemoryError
2016-10-31 11:07:40,245 ERROR [http-bio-8085-exec-2] org.apache.solr.servlet.SolrDispatchFilter  - java.lang.OutOfMemoryError: Java heap space
        at org.apache.lucene.search.FieldCacheImpl$StringIndexCache.createValue(FieldCacheImpl.java:869)
        at org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:233)
        at org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:856)
        at org.apache.solr.search.function.ReverseOrdFieldSource.getValues(ReverseOrdFieldSource.java:63)
        at org.apache.solr.search.function.TopValueSource.getValues(TopValueSource.java:59)
        at org.apache.solr.search.function.ReciprocalFloatFunction.getValues(ReciprocalFloatFunction.java:62)
        at org.apache.solr.search.function.FunctionQuery$AllScorer.<init>(FunctionQuery.java:126)
        at org.apache.solr.search.function.FunctionQuery$FunctionWeight.scorer(FunctionQuery.java:96)
        at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:298)
        at org.apache.lucene.search.FilteredQuery.getFilteredScorer(FilteredQuery.java:149)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:577)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:364)
        at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1296)
        at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1176)
        at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:375)
        at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:394)
        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:186)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
        at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at com.ptc.solr.servlet.SolrAccessFilter.doFilter(SolrAccessFilter.java:40)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at wt.servlet.ServletRequestMonitor.doFilter(ServletRequestMonitor.java:1650)
        at wt.servlet.ServletRequestMonitorFilter.doFilter(ServletRequestMonitorFilter.java:56)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
 
This is a printer-friendly version of Article 252678 and may be out of date. For the latest version click CS252678