Great!!! Great Erick! It was a buildOnCommit. Many thanks for your help.
On Wed, Dec 16, 2015 at 6:30 PM, Erick Erickson <erickerick...@gmail.com> wrote: > Quick scan, but probably this: > INFO > o.a.solr.spelling.suggest.Suggester - build() > > The suggester build process can easily take many minutes, there's some > explanation here: > https://lucidworks.com/blog/2015/03/04/solr-suggester/ > > the short form is that depending on how it's defined, it may have to > read _all_ the > documents in your entire corpus to build the suggester structures. And > you apparently > have buildOnCommit set to true. > > Note particularly the caveats there about the Solr version required so that > buildOnStartup=false is honored. > > Best, > Erick > > On Wed, Dec 16, 2015 at 2:34 AM, Vincenzo D'Amore <v.dam...@gmail.com> > wrote: > > Hi, > > > > an update. Hope you can help me. > > > > I have stopped all the other working collections, in order to have a > clean > > log file. > > > > at 11:01:16 an hard commit has been issued > > > > 2015-12-16 11:01:49,839 [http-bio-8080-exec-824] INFO > > org.apache.solr.update.UpdateHandler - start > > > commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false} > > > > at 11:11:31,344 the commit has been completed. > > > > The commit was ended logging this line, I suppose 615021 is the wait time > > (roughly 10 minutes) : > > > > 2015-12-16 11:11:31,343 [http-bio-8080-exec-991] INFO > > o.a.s.u.processor.LogUpdateProcessor - [catalogo_shard2_replica3] > > webapp=/solr path=/update > > > params={waitSearcher=true&commit=true&softCommit=false&wt=javabin&version=2} > > {commit=} 0 615021 > > > > During this 10 minutes, the server logged "only" thes lines, looking at > > them I don't see anything of strange: > > > > 2015-12-16 11:01:50,705 [http-bio-8080-exec-824] INFO > > o.a.solr.search.SolrIndexSearcher - Opening > > Searcher@6d5c31e2[catalogo_shard1_replica2] > > main > > 2015-12-16 11:01:50,724 [http-bio-8080-exec-824] INFO > > org.apache.solr.update.UpdateHandler - end_commit_flush > > 2015-12-16 11:02:20,722 [searcherExecutor-108-thread-1] INFO > > o.a.solr.spelling.suggest.Suggester - build() > > 2015-12-16 11:02:21,846 [http-bio-8080-exec-824] INFO > > o.a.s.u.processor.LogUpdateProcessor - [catalogo_shard1_replica2] > > webapp=/solr path=/update > > > params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from= > > > http://192.168.101.118:8080/solr/catalogo_shard2_replica3/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false > } > > {commit=} 0 32007 > > 2015-12-16 11:05:47,162 [http-bio-8080-exec-1037] INFO > > org.apache.solr.update.UpdateHandler - start > > > commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false} > > 2015-12-16 11:05:47,970 [http-bio-8080-exec-1037] INFO > > o.a.solr.search.SolrIndexSearcher - Opening > > Searcher@4ede7ac5[catalogo_shard2_replica3] > > main > > 2015-12-16 11:05:47,989 [http-bio-8080-exec-1037] INFO > > org.apache.solr.update.UpdateHandler - end_commit_flush > > 2015-12-16 11:06:03,063 [commitScheduler-115-thread-1] INFO > > org.apache.solr.update.UpdateHandler - start > > > commit{,optimize=false,openSearcher=false,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false} > > 2015-12-16 11:06:03,896 [commitScheduler-115-thread-1] INFO > > o.a.solr.search.SolrIndexSearcher - Opening > > Searcher@2bf4fd3a[catalogo_shard3_replica1] > > realtime > > 2015-12-16 11:06:03,913 [commitScheduler-115-thread-1] INFO > > org.apache.solr.update.UpdateHandler - end_commit_flush > > 2015-12-16 11:06:19,435 [searcherExecutor-111-thread-1] INFO > > o.a.solr.spelling.suggest.Suggester - build() > > 2015-12-16 11:06:20,589 [http-bio-8080-exec-1037] INFO > > o.a.s.u.processor.LogUpdateProcessor - [catalogo_shard2_replica3] > > webapp=/solr path=/update > > > params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from= > > > http://192.168.101.118:8080/solr/catalogo_shard2_replica3/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false > } > > {commit=} 0 33427 > > 2015-12-16 11:08:07,076 [http-bio-8080-exec-1037] INFO > > org.apache.solr.update.UpdateHandler - start > > > commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false} > > 2015-12-16 11:08:07,076 [http-bio-8080-exec-1037] INFO > > org.apache.solr.update.UpdateHandler - No uncommitted changes. Skipping > > IW.commit. > > 2015-12-16 11:08:07,076 [http-bio-8080-exec-1037] INFO > > o.a.solr.search.SolrIndexSearcher - Opening > > Searcher@75b2727f[catalogo_shard3_replica1] > > main > > 2015-12-16 11:08:07,084 [http-bio-8080-exec-1037] INFO > > org.apache.solr.update.UpdateHandler - end_commit_flush > > 2015-12-16 11:08:39,040 [searcherExecutor-114-thread-1] INFO > > o.a.solr.spelling.suggest.Suggester - build() > > 2015-12-16 11:08:40,286 [http-bio-8080-exec-1037] INFO > > o.a.s.u.processor.LogUpdateProcessor - [catalogo_shard3_replica1] > > webapp=/solr path=/update > > > params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from= > > > http://192.168.101.118:8080/solr/catalogo_shard2_replica3/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false > } > > {commit=} 0 33211 > > > > Could some component be the cause of this wait? Something like a > suggester > > or a spellchecker cache? > > But if yes, I should see the activity in log file, isn't it? > > > > Best regards, > > Vincenzo > > > > > > On Sat, Dec 12, 2015 at 7:50 PM, Erick Erickson <erickerick...@gmail.com > > > > wrote: > > > >> Autowarm times will only happen when the commit has openSearcher=true > >> or on a soft commit. But maybe your log levels aren't at INFO for the > right > >> code... > >> > >> That said, your autowarm counts at 0 probably means that you're not > seeing > >> any autowarming really, so that might be a red herring. Your newSearcher > >> event in solrconfig.xml will still be fired, but may be commented out. > >> > >> This is still something of a puzzle. With an index this size, your hard > >> commits should never take more than a second or two unless you're > >> in some very strange state. Stack traces would be in order if > lengthening > >> the commit interval doesn't work. > >> > >> Best, > >> Erick > >> > >> On Fri, Dec 11, 2015 at 5:58 PM, Vincenzo D'Amore <v.dam...@gmail.com> > >> wrote: > >> > Hi All, > >> > > >> > an update, I have switched logging from WARN to INFO for all except > for > >> > those two: > >> > > >> > - org.apache.solr.core > >> > - org.apache.solr.handler.component.SpellCheckComponent > >> > > >> > Well, looking at log file I'm unable to find any autowarm log line, > even > >> > after few updates and commits. > >> > > >> > Looking at solrconfig.xml I see most autowarmCount parameters are set > to > >> 0 > >> > > >> > <filterCache class="solr.FastLRUCache" size="1500" initialSize="1000" > >> > autowarmCount="0" /> > >> > <queryResultCache class="solr.LRUCache" size="8096" initialSize="1024" > >> > autowarmCount="0" /> > >> > <documentCache class="solr.FastLRUCache" size="10240" > initialSize="4096" > >> > autowarmCount="0" /> > >> > <cache name="perSegFilter" > class="solr.search.LRUCache" > >> size > >> > ="10" initialSize="0" autowarmCount="10" > >> regenerator="solr.NoOpRegenerator" > >> > /> > >> > > >> > Not sure what this means... > >> > > >> > On Sat, Dec 12, 2015 at 1:13 AM, Vincenzo D'Amore <v.dam...@gmail.com > > > >> > wrote: > >> > > >> >> Thanks Erick, Mark, > >> >> > >> >> I'll raise maxTime asap. > >> >> Just to be sure understand, given that I have openSearcher=false, I > >> >> suppose it shouldn't trigger autowarming at least until a commit is > >> >> executed, shouldn't it? > >> >> > >> >> Anyway, I don't understand, given that maxTime is very aggressive, > why > >> >> hard commit takes so long. > >> >> > >> >> Thanks again for your answers. > >> >> Vincenzo > >> >> > >> >> > >> >> On Fri, Dec 11, 2015 at 7:22 PM, Erick Erickson < > >> erickerick...@gmail.com> > >> >> wrote: > >> >> > >> >>> First of all, your autocommit settings are _very_ aggressive. > >> Committing > >> >>> every second is far to frequent IMO. > >> >>> > >> >>> As an aside, I generally prefer to omit the maxDocs as it's not all > >> >>> that predictable, > >> >>> but that's a personal preference and really doesn't bear on your > >> problem.. > >> >>> > >> >>> My _guess_ is that you are doing a lot of autowarming. The number of > >> docs > >> >>> doesn't really matter if your autowarming is taking forever, your > Solr > >> >>> logs > >> >>> should report the autowarm times at INFO level, have you checked > those? > >> >>> > >> >>> The commit settings shouldn't be a problem in terms of your server > >> dying, > >> >>> the indexing process flushes docs to the tlog independent of > >> committing so > >> >>> upon restart they should be recovered. Here's a blog on the subject: > >> >>> > >> >>> > >> >>> > >> > https://lucidworks.com/blog/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud/ > >> >>> > >> >>> Best, > >> >>> Erick > >> >>> > >> >>> On Fri, Dec 11, 2015 at 8:24 AM, Vincenzo D'Amore < > v.dam...@gmail.com> > >> >>> wrote: > >> >>> > Hi all, > >> >>> > > >> >>> > I have a SolrCloud cluster with a collection (2.5M docs) with 3 > >> shards > >> >>> and > >> >>> > 15 replicas. > >> >>> > There is a solrj application that feeds the collection, updating > few > >> >>> > documents every hour, I don't understand why, at end of process, > the > >> >>> hard > >> >>> > commit takes about 8/10 minutes. > >> >>> > > >> >>> > Even if there are only few hundreds of documents. > >> >>> > > >> >>> > This is the autocommit configuration: > >> >>> > > >> >>> > <autoCommit> > >> >>> > <maxDocs>10000</maxDocs> > >> >>> > <maxTime>1000</maxTime> > >> >>> > <openSearcher>false</openSearcher> > >> >>> > </autoCommit> > >> >>> > > >> >>> > In your experience why hard commit takes so long even for so few > >> >>> documents? > >> >>> > > >> >>> > Now I'm changing the code to softcommit, calling commit > (waitFlush = > >> >>> > false, waitSearcher > >> >>> > = false, softCommit = true); > >> >>> > > >> >>> > solrServer.commit(false, false, true);. > >> >>> > > >> >>> > I have configured NRTCachingDirectoryFactory, but I'm a little bit > >> >>> worried > >> >>> > if a server goes down (something like: kill -9, SolrCloud crashes, > >> out > >> >>> of > >> >>> > memory, etc.), and if, using this strategy > >> >>> softcommit+NRTCachingDirectory, > >> >>> > SolrCloud instance could not recover a replica. > >> >>> > > >> >>> > Should I worry about this new configuration? I was thinking to > take a > >> >>> > snapshot of everything every day, in order to recover immediately > the > >> >>> > index. Could this be considered a best practice? > >> >>> > > >> >>> > Thanks in advance for your time, > >> >>> > Vincenzo > >> >>> > > >> >>> > -- > >> >>> > Vincenzo D'Amore > >> >>> > email: v.dam...@gmail.com > >> >>> > skype: free.dev > >> >>> > mobile: +39 349 8513251 > >> >>> > >> >> > >> >> > >> >> > >> >> -- > >> >> Vincenzo D'Amore > >> >> email: v.dam...@gmail.com > >> >> skype: free.dev > >> >> mobile: +39 349 8513251 > >> >> > >> > > >> > > >> > > >> > -- > >> > Vincenzo D'Amore > >> > email: v.dam...@gmail.com > >> > skype: free.dev > >> > mobile: +39 349 8513251 > >> > > > > > > > > -- > > Vincenzo D'Amore > > email: v.dam...@gmail.com > > skype: free.dev > > mobile: +39 349 8513251 > -- Vincenzo D'Amore email: v.dam...@gmail.com skype: free.dev mobile: +39 349 8513251