Hi Shawn, You were spot on, commitWithin was being set on each commit. I was able to verify by temporarily turning on debug logging for DirectUpdateHandler2.
Thanks for your help. Kind regards, Dan On Tue, 23 Nov 2021 at 16:49, Shawn Heisey <apa...@elyograg.org> wrote: > On 11/23/21 8:31 AM, Dan Rosher wrote: > > It seems to me that <openSearcher>false</openSearcher> is not being > > honored, or does a softCommit always happen on an autoCommit? > > > > Cache reloads seems to coincide with solr.autoCommit.maxTime: > > > > We have the following solrconfig snippet: > > > > <autoCommit> > > <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> > > <openSearcher>false</openSearcher> > > </autoCommit> > > > > <autoSoftCommit> > > <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> > > </autoSoftCommit> > > The autoCommit, if it fires, is always a hard commit. If you see a soft > commit, it did NOT come from autoCommit. > > > 021-11-23 15:10:38.976 INFO (commitScheduler-643-thread-1) [ ] > > o.a.s.u.DirectUpdateHandler2 start > > > commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=true,prepareCommit=false} > > This is a soft commit. It was NOT fired by autoCommit. It looks like > it was either fired by autoSoftCommit or by a commitWithin parameter on > an update request. If you have not defined the system property named > "solr.autoSoftCommit.maxTime" when Solr starts, then I think it was most > likely commitWithin. Note that if you use the "Documents" tab in the > admin UI to send documents for indexing, it has a "Commit Within" box > that defaults to 1 second, and the value entered there is sent as a > commitWithin parameter. > > > 2021-11-23 15:10:45.079 INFO (commitScheduler-642-thread-1) [ ] > > o.a.s.u.DirectUpdateHandler2 start commit{,optimize=false,openSearc > > > her=false,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false} > > > This is a hard commit, with openSearcher set to false. This one was > almost assuredly fired by autoCommit. > > > (I think realtime is for bookeeping?) > > > The realtime searcher is for the handler usually assigned the "/get" URL > path, which only searches on the uniqueKey field, and can search > uncommitted documents as well as commited documents. This is an implicit > handler, which means that it exists even if it is not configured in > solrconfig.xml. I believe that handler searches uncommitted docs by > looking at transaction logs, but I do not know that for sure. No action > or config is necessary for a realtime searcher to be opened - Solr > handles all that automatically. It is likely that when autoCommit > fires, a brand new realtime searcher is opened -- because a hard commit > will cause changes in the transaction logs, a searcher that searches > them must be updated. > > Thanks, > Shawn > > >