Thanks very much for the useful info Eric. Sincerely appreciate you pointed out those questions. In fact, I am currently working with a third party product called Sitecore Web Content Management System (WCMS) that does the job to issue updates to the Solr Index. I need to understand abit more when and how they are committing documents to Solr. Your question about how the new searchers arise to produce those performance warning messages is valid.
Your questions will be more for the Sitecore Product Team to investigate in which I will chase them up for answers. 1. Whether we are overriding the system variable solr.autoSoftCommit.maxTime? 2. Whether we are overriding the solr.autoCommit.maxTime (although this really shouldn't matter). 3. Why we have too many hard commits? 4. How come new searchers are opened even when this is set with <openSearcher>false</openSearcher> I shall chase these questions up with them. Will feedback to you where necessary. Thanks. Best regards, Adrian Liew -----Original Message----- From: Erick Erickson [mailto:erickerick...@gmail.com] Sent: Wednesday, August 12, 2015 11:19 PM To: solr-user@lucene.apache.org Subject: Re: Performance warning overlapping onDeckSearchers Something's not adding up here. Is your _client_ perhaps issuing commits when you index documents? This is Joel's question, so we need to see how you send docs to Solr. We really need to know how you're indexing docs to Solr. My bet (and I suspect Joel's) is that you're either using SolrJ to send docs to Solr and have something like ****solrJ while (more docs) { create a doc send it to Solr commit } rather than while (more docs) { create a bunch of docs (I usually start with 1,000) using the "commitwithin" option and make it as long as possible send the batch to solr } Maybe commit at the very end, but that's not necessary if you're willing to wait for "commitWithin". ****post.jar Or, you're using post.jar in some kind of loop which commits every time you use it by default. You can disable this, try 'java -jar post.jar -help' for all the options, but the one you want is -Dcommit=no. NOTE: you have to issue a commit _sometime_ to see the docs, either the commitWithin option in SolrJ or explicitly if you're using the post.jar tool. You can even issue a commit (this is suitable for testing) via curl or a browser with http://solr_node:8983/solr/collection/update?commit=true The reason we're focusing here is that: Soft commits are disabled in your setup, this is the "-1" in autoSoftCommit. Hard commits are not opening searchers, this is the autoCommit, <openSearcher>false</openSearcher> section. Are, you perhaps overriding the system variable solr.autoSoftCommit.maxTime when you start up Solr? What about solr.autoCommit.maxTime (although this really shouldn't matter). If you're not overriding the above, then no searchers should be being opened at all after you start Solr, and only one should be opening when you do start Solr. So you should not be getting the warning about Overlapping onDeckSearchers. Forget the static warming queries, they are irrelevant until we understand why you're getting any new searchers. For future reference, these are the newSearcher and firstSearcher events in solrconfig.xml. newSearcher is fired every time one commits, firstSearcher when you start Solr. The bottom line here is you need to find out why you're committing at all, which opens a new searcher which, when that happens too often generates the warning you're seeing. Best, Erick On Wed, Aug 12, 2015 at 6:51 AM, Adrian Liew <adrian.l...@avanade.com> wrote: > Hi Joel, > > I am fairly new to Solr (version which I am using v5.2.1) so I suppose what > you may be asking is referring to the autocommits section: > > > <!-- AutoCommit > > Perform a hard commit automatically under certain conditions. > Instead of enabling autoCommit, consider using "commitWithin" > when adding documents. > > http://wiki.apache.org/solr/UpdateXmlMessages > > maxDocs - Maximum number of documents to add since the last > commit before automatically triggering a new commit. > > maxTime - Maximum amount of time in ms that is allowed to pass > since a document was added before automatically > triggering a new commit. > openSearcher - if false, the commit causes recent index changes > to be flushed to stable storage, but does not cause a new > searcher to be opened to make those changes visible. > > If the updateLog is enabled, then it's highly recommended to > have some sort of hard autoCommit to limit the log size. > --> > <autoCommit> > <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> > <openSearcher>false</openSearcher> > </autoCommit> > > <!-- softAutoCommit is like autoCommit except it causes a > 'soft' commit which only ensures that changes are visible > but does not ensure that data is synced to disk. This is > faster and more near-realtime friendly than a hard commit. > --> > > <autoSoftCommit> > <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> > </autoSoftCommit> > > Currently, this has been left with the defaults. Are you able to determine if > I have autocommits turned on or off? > > What do you mean by explicit commit? Does this mean a regular commit? > > Quick commits are fairly intermittent. Although, we will be running some > automated tasks to import some content which may directly cause frequent > commits. This particular warning does not happen often but does happen > frequently within a one minute period. I predict with automated import of > content, this can trigger the warnings quite frequently. I have seen an error > reported back where the number of maxWarmingSearchers have been exceeded. > > In regards with checking to see if there are any static warm queries, how do > you advise which section to look at in the solrconfig.xml? > > Best regards, > > Adrian Liew > > > -----Original Message----- > From: Joel Bernstein [mailto:joels...@gmail.com] > Sent: Wednesday, August 12, 2015 6:35 PM > To: solr-user@lucene.apache.org > Subject: Re: Performance warning overlapping onDeckSearchers > > You'll want to check to see if there are any static warming queries being run > as well. > > How often are you committing and opening a new searcher? Are you using > autoCommits or explicitly committing? > > Joel Bernstein > http://joelsolr.blogspot.com/ > > On Wed, Aug 12, 2015 at 3:57 AM, Adrian Liew <adrian.l...@avanade.com> > wrote: > >> Additionally, >> >> I realized that my autowarmCount is set to zero for the following >> Cache entries except perSegFilter: >> >> <filterCache class="solr.FastLRUCache" >> size="512" >> initialSize="512" >> autowarmCount="0"/> >> >> <!-- Query Result Cache >> >> Caches results of searches - ordered lists of document ids >> (DocList) based on a query, a sort, and the range of >> documents requested. >> Additional supported parameter by LRUCache: >> maxRamMB - the maximum amount of RAM (in MB) that this >> cache is allowed >> to occupy >> --> >> <queryResultCache class="solr.LRUCache" >> size="512" >> initialSize="512" >> autowarmCount="0"/> >> >> <!-- Document Cache >> >> Caches Lucene Document objects (the stored fields for each >> document). Since Lucene internal document ids are transient, >> this cache will not be autowarmed. >> --> >> <documentCache class="solr.LRUCache" >> size="512" >> initialSize="512" >> autowarmCount="0"/> >> >> <!-- custom cache currently used by block join --> >> <cache name="perSegFilter" >> class="solr.search.LRUCache" >> size="10" >> initialSize="0" >> autowarmCount="10" >> regenerator="solr.NoOpRegenerator" /> >> >> >> The link, >> https://wiki.apache.org/solr/FAQ#What_does_.22PERFORMANCE_WARNING:_Ov >> e rlapping_onDeckSearchers.3DX.22_mean_in_my_logs.3F >> did suggest to reduce the autowarmCount or reduce warm up cache >> activity (which I am not sure where to begin doing this). >> >> I suspect autowarmCount is not very large as the above. >> >> Let me know what you think. >> >> Best regards, >> Adrian Liew >> >> >> -----Original Message----- >> From: Adrian Liew [mailto:adrian.l...@avanade.com] >> Sent: Wednesday, August 12, 2015 3:32 PM >> To: solr-user@lucene.apache.org >> Subject: RE: Performance warning overlapping onDeckSearchers >> >> Thanks Shawn. Having said that increasing maxWarmingSearchers is >> usually wrong to solve this, are there any implications if we set >> maxWarmingSearchers to zero to resolve this problem? >> >> Or do you think there are some other settings that are worthwhile >> tuning to cater to the above? >> >> Best regards, >> Adrian >> >> -----Original Message----- >> From: Shawn Heisey [mailto:apa...@elyograg.org] >> Sent: Tuesday, August 11, 2015 11:02 PM >> To: solr-user@lucene.apache.org >> Subject: Re: Performance warning overlapping onDeckSearchers >> >> On 8/11/2015 3:02 AM, Adrian Liew wrote: >> > Has anyone come across this issue, [some_index] PERFORMANCE WARNING: >> Overlapping onDeckSearchers=2? >> > >> > I am currently using Solr v5.2.1. >> > >> > What does this mean? Does this raise red flags? >> > >> > I am currently encountering an issue whereby my Sitecore system is >> unable to update the index appropriately. I am not sure if this is >> linked to the warnings above. >> >> >> https://wiki.apache.org/solr/FAQ#What_does_.22PERFORMANCE_WARNING:_Ov >> e rlapping_onDeckSearchers.3DX.22_mean_in_my_logs.3F >> >> What the wiki page doesn't explicitly state is that increasing >> maxWarmingSearchers is usually the wrong way to solve this, because >> that can actually make the problem *worse*. It is implied by the >> things the page DOES say, but it is not stated. >> >> Thanks, >> Shawn >> >>