Hi all! We are testing multiple replica setup here (1 NRT + 1 PULL) and noticed that CPU consumption for replication is unreasonably high. Profiling shows that `SolrCore#openNewSearcher` triggered from `IndexFetcher` takes much more CPU time than the same method triggered from regular commits.
Debugging shows that when `SolrCore#openNewSearcher` is triggered from `IndexFetcher`, it opens a new `SegmentReader` for every single fragment for the updated collection. As a new `IndexWriter`, which keeps a `ReaderPool`, is instantiated for each replication. And such pool is not reused nor previous segment readers are carried over. Details in this ticket https://issues.apache.org/jira/browse/SOLR-16560. Since I'm pretty new to this area, I would love to get some thoughts from the community! Many thanks! Patsn