アーティクル - CS175662
Solr インデックス データのサイズが突然大きくなり、Windchill PDMLink で IndexQueue がブロックされる
修正日: 28-Dec-2022
適用対象
- 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 PDMLink 11.0 F000 までは<Windchill_Home>\solr\dataにあり、Windchill PDMLink 11.0 M010 以降では<Solr_Home>\solrにある Solr データ フォルダのサイズが予期せず大きくなる
- Solr インデックスは非常に急速に大きくなります
- たとえば、合計データが100GBの場合、数時間で 200GB に増加し、再び 100GB に減少する可能性があります。
- このプロセスは数時間続く場合があります。
- その間、IndexQueue はブロックされます - 特定のエントリは常に実行中です
- 1 つまたは複数の*.fdtファイルが突然数 GB に拡大
- Solr と Windchill のスタック トレース
#Solr のマージ スレッド
"Lucene Merge Thread #0" Id=357 デーモン 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;待機中 (連続): 190
CPU ナノ: 3244820800;ユーザーナノ: 2979619100;割り当てられたバイト数: 1520219832
at 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 デーモン prio=5 ロックを待機中=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@909ba8b
「pool-9-thread-1」ID=293 が所有するロック
ブロックされた (cnt): 0;待機 (連続): 86
CPU ナノ: 1388408900;ユーザーナノ: 561603600;割り当てられたバイト数: 22673024
サーブレット要求: 2t251m;jjfcwpek;13256;hypjuv;3386
at 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) で
"Lucene Merge Thread #0" Id=357 デーモン 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;待機中 (連続): 190
CPU ナノ: 3244820800;ユーザーナノ: 2979619100;割り当てられたバイト数: 1520219832
at 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 デーモン prio=5 ロックを待機中=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@909ba8b
「pool-9-thread-1」ID=293 が所有するロック
ブロックされた (cnt): 0;待機 (連続): 86
CPU ナノ: 1388408900;ユーザーナノ: 561603600;割り当てられたバイト数: 22673024
サーブレット要求: 2t251m;jjfcwpek;13256;hypjuv;3386
at 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) で
最新バージョンはこちらを参照ください CS175662