技术文章 - CS175662

Solr 索引数据的大小突然增长并且 IndexQueue 在 Windchill PDMLink 中被阻塞

已修改: 28-Dec-2022   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • 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

说明

  • 位于<Windchill_Home>\solr\data中的 Solr 数据文件夹的大小意外增长,直到 Windchill PDMLink 11.0 F000 和<Solr_Home>\solr在 Windchill PDMLink 11.0 M010 之后
  • Solr 索引很快变
    • 例如,总数据为100GB ,可能会在几个小时内增加到 200GB,然后再次减少到 100GB
    • 该过程可能会持续数小时
    • 在此期间,IndexQueue 被阻塞 - Specific entry is always Executing
  • 一个或多个*.fdt文件突然增长到许多 GB
  • Solr 和 Windchill 的堆栈跟踪
#Solr 中的合并线程
“Lucene Merge Thread #0” Id=357 daemon prio=6 RUNNABLE
阻止 (cnt): 0;等待 (cnt): 0
CPU 纳米:156406602600;用户纳米:144160524100;分配的字节数:25585314848
在 org.apache.lucene.index.SegmentTermDocs.next(SegmentTermDocs.java:129)
在 org.apache.lucene.index.SegmentTermPositions.next(SegmentTermPositions.java:98)
在 org.apache.lucene.index.SegmentMerger.appendPostings(SegmentMerger.java:695)
在 org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:648)
在 org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:586)
在 org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:154)
在 org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:5029)
在 org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:4614)
在 org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:235)
在 org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:291)

--Windchill 索引正在等待
“pool-9-thread-1” Id=293 prio=5 TIMED_WAITING on lock=org.apache.solr.update.SolrIndexWriter@2a2fe4a7
阻止 (cnt): 0;等待 (cnt): 190
CPU 纳米:3244820800;用户纳米:2979619100;分配的字节数:1520219832
在 java.lang.Object.wait(本机方法)
在 org.apache.lucene.index.IndexWriter.doWait(IndexWriter.java:5351)
在 org.apache.lucene.index.IndexWriter.waitForMerges(IndexWriter.java:3479)
在 org.apache.lucene.index.IndexWriter.finishMerges(IndexWriter.java:3463)
在 org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:2200)
在 org.apache.lucene.index.IndexWriter.close(IndexWriter.java:2153)
在 org.apache.lucene.index.IndexWriter.close(IndexWriter.java:2117)
在 org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:229)
在 org.apache.solr.update.DirectUpdateHandler2.closeWriter(DirectUpdateHandler2.java:181)
在 org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:409)
在 org.apache.solr.update.DirectUpdateHandler2$CommitTracker.run(DirectUpdateHandler2.java:602)

“http-bio-8085-exec-1” Id=291 daemon prio=5 等待 lock=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@909ba8b
“pool-9-thread-1”拥有的锁 Id=293
阻止 (cnt): 0;等待 (cnt): 86
CPU纳米:1388408900;用户纳米:561603600;分配的字节数:22673024
Servlet 请求:2t251m;jjfcwpek;13256;hypjuv;3386
在 sun.misc.Unsafe.park(本机方法)
在 java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
在 java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
在 java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
在 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
在 java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
在 org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:211)
在 org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61)
在 org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:53)
在 com.ptc.solr.update.processor.PTCUpdateRequestProcessor.processAdd(PTCUpdateRequestProcessor.java:43)
在 org.apache.solr.handler.BinaryUpdateRequestHandler$2.document(BinaryUpdateRequestHandler.java:70)
在 org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$2.readIterator(JavaBinUpdateRequestCodec.java:121)
在 org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:210)
在 org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$2.readNamedList(JavaBinUpdateRequestCodec.java:107)
在 org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:175)
在 org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:101)
在 org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.unmarshal(JavaBinUpdateRequestCodec.java:126)
在 org.apache.solr.handler.BinaryUpdateRequestHandler.parseAndLoadDocs(BinaryUpdateRequestHandler.java:60)
在 org.apache.solr.handler.BinaryUpdateRequestHandler.access$000(BinaryUpdateRequestHandler.java:46)
在 org.apache.solr.handler.BinaryUpdateRequestHandler$1.load(BinaryUpdateRequestHandler.java:52)
在 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
在 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
这是文章 175662 的 PDF 版本,可能已过期。最新版本 CS175662