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

Reply via email to