Hi Erick, Thanks for your advice about having openSearcher set to true unnecessary for my case. For CorruptIndexException issue, I think Solr should handle this quite well too. Because I always shutdown tomcat gracefully. Recently I did a couple of tests about this issue. When keep posting update request to Solr and stop one of three tomcat node in a single shard cluster, it is easy to reproduction CorruptIndexException, no matter the stop node is leader node or replica node. So I think this is a Bug of Solr. Any idea how can I avoid meeting this issue? For example if I can remove one node from zookeeper before stop it. Also please show me if reboot tomcat node is the only way to resolve the memory issue. If I can control the field cache size, then reboot is unnecessary.
Below is the trace when start tomcat and first time meet CorruptIndexException issue: 2017-09-19 10:18:57,614 ERROR [RecoveryThread][RQ-Init] (SolrException.java:142) - SnapPull failed :org.apache.solr.common.SolrException: Error opening new searcher at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1565) at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1677) at org.apache.solr.handler.SnapPuller.openNewSearcherAndUpdateCommitPoint(SnapPuller.java:673) at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:493) at org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler.java:337) at org.apache.solr.cloud.RecoveryStrategy.replicate(RecoveryStrategy.java:163) at org.apache.solr.cloud.RecoveryStrategy.doRecovery(RecoveryStrategy.java:447) at org.apache.solr.cloud.RecoveryStrategy.run(RecoveryStrategy.java:235) Caused by: org.apache.lucene.index.CorruptIndexException: liveDocs.count()=10309577 info.docCount=15057819 info.getDelCount()=4748252 (filename=_4y65a_13g.del) at org.apache.lucene.codecs.lucene40.Lucene40LiveDocsFormat.readLiveDocs(Lucene40LiveDocsFormat.java:96) at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:116) at org.apache.lucene.index.ReadersAndUpdates.getReader(ReadersAndUpdates.java:144) at org.apache.lucene.index.ReadersAndUpdates.getReadOnlyClone(ReadersAndUpdates.java:238) at org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:104) at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:422) at org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:279) at org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:251) at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1476) ... 7 more Regards. Geng, Wei -- Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html