Article - CS175662

Size of Solr index data suddenly grows in and IndexQueue gets blocked in Windchill PDMLink

Modified: 15-Jan-2019   


Applies To

  • Windchill PDMLink 9.1 to 11.0
  • Till Windchill PDMLink 11.0 F000
    • If data folder is not located in <Windchill_Home>\solr directory then check data.dir property in
  • Since Windchill PDMLink 11.0 M010
    • If data folder is not located in <Solr_Home>\solr directory then check wt.index.server.datadir property in <Solr_Home>\config\solrserver.properties

Description

  • Unexpected growth in size of Solr data folder located in <Windchill_Home>\solr\data till Windchill PDMLink 11.0 F000 and <Solr_Home>\solr in Windchill PDMLink 11.0 M010 onwards
  • Solr index gets much bigger very quickly
    • For example, the total data is 100GB, it may increase to 200GB in few hours and reduce back to 100GB again.
    • The process may continue hours.
    • During the time, IndexQueue gets blocked - Specific entry is always Executing
  • One or more *.fdt files suddenly grow to many GBs
  • The stack trace of Solr and Windchill
#the merge thread in Solr
"Lucene Merge Thread #0" Id=357 daemon prio=6 RUNNABLE
      Blocked (cnt): 0; Waited (cnt): 0
      CPU nanos: 156406602600; User nanos: 144160524100; Bytes allocated: 25585314848
  at org.apache.lucene.index.SegmentTermDocs.next(SegmentTermDocs.java:129)
  at org.apache.lucene.index.SegmentTermPositions.next(SegmentTermPositions.java:98)
  at org.apache.lucene.index.SegmentMerger.appendPostings(SegmentMerger.java:695)
  at org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:648)
  at org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:586)
  at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:154)
  at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:5029)
  at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:4614)
  at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:235)
  at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:291)
 
--the Windchill indexing is waiting
"pool-9-thread-1" Id=293 prio=5 TIMED_WAITING on lock=org.apache.solr.update.SolrIndexWriter@2a2fe4a7
      Blocked (cnt): 0; Waited (cnt): 190
      CPU nanos: 3244820800; User nanos: 2979619100; Bytes allocated: 1520219832
  at java.lang.Object.wait(Native Method)
  at org.apache.lucene.index.IndexWriter.doWait(IndexWriter.java:5351)
  at org.apache.lucene.index.IndexWriter.waitForMerges(IndexWriter.java:3479)
  at org.apache.lucene.index.IndexWriter.finishMerges(IndexWriter.java:3463)
  at org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:2200)
  at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:2153)
  at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:2117)
  at org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:229)
  at org.apache.solr.update.DirectUpdateHandler2.closeWriter(DirectUpdateHandler2.java:181)
  at org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:409)
  at org.apache.solr.update.DirectUpdateHandler2$CommitTracker.run(DirectUpdateHandler2.java:602)
 
"http-bio-8085-exec-1" Id=291 daemon prio=5 WAITING on lock=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@909ba8b
      lock owned by "pool-9-thread-1" Id=293
      Blocked (cnt): 0; Waited (cnt): 86
      CPU nanos: 1388408900; User nanos: 561603600; Bytes allocated: 22673024
      Servlet request: 2t251m;jjfcwpek;13256;hypjuv;3386
  at sun.misc.Unsafe.park(Native Method)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
  at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
  at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:211)
  at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61)
  at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:53)
  at com.ptc.solr.update.processor.PTCUpdateRequestProcessor.processAdd(PTCUpdateRequestProcessor.java:43)
  at org.apache.solr.handler.BinaryUpdateRequestHandler$2.document(BinaryUpdateRequestHandler.java:70)
  at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$2.readIterator(JavaBinUpdateRequestCodec.java:121)
  at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:210)
  at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$2.readNamedList(JavaBinUpdateRequestCodec.java:107)
  at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:175)
  at org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:101)
  at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.unmarshal(JavaBinUpdateRequestCodec.java:126)
  at org.apache.solr.handler.BinaryUpdateRequestHandler.parseAndLoadDocs(BinaryUpdateRequestHandler.java:60)
  at org.apache.solr.handler.BinaryUpdateRequestHandler.access$000(BinaryUpdateRequestHandler.java:46)
  at org.apache.solr.handler.BinaryUpdateRequestHandler$1.load(BinaryUpdateRequestHandler.java:52)
  at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
  at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
  at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
This is a printer-friendly version of Article 175662 and may be out of date. For the latest version click CS175662