You can specify maxSegments parameter e.g. maxSegments=5 while optimizing.
On Thu, Apr 17, 2014 at 6:46 AM, Vinay Pothnis <poth...@gmail.com> wrote: > Hello, > > Couple of follow up questions: > > * When the optimize command is run, looks like it creates one big segment > (forceMerge = 1). Will it get split at any point later? Or will that big > segment remain? > > * Is there anyway to maintain the number of segments - but still merge to > reclaim the deleted documents space? In other words, can I issue > "forceMerge=20"? If so, how would the command look like? Any examples for > this? > > Thanks > Vinay > > > > On 16 April 2014 07:59, Vinay Pothnis <poth...@gmail.com> wrote: > > > Thank you Erick! > > Yes - I am using the expunge deletes option. > > > > Thanks for the note on disk space for the optimize command. I should have > > enough space for that. What about the heap space requirement? I hope it > can > > do the optimize with the memory that is allocated to it. > > > > Thanks > > Vinay > > > > > > On 16 April 2014 04:52, Erick Erickson <erickerick...@gmail.com> wrote: > > > >> The optimize should, indeed, reduce the index size. Be aware that it > >> may consume 2x the disk space. You may also try expungedeletes, see > >> here: https://wiki.apache.org/solr/UpdateXmlMessages > >> > >> Best, > >> Erick > >> > >> On Wed, Apr 16, 2014 at 12:47 AM, Vinay Pothnis <poth...@gmail.com> > >> wrote: > >> > Another update: > >> > > >> > I removed the replicas - to avoid the replication doing a full copy. I > >> am > >> > able delete sizeable chunks of data. > >> > But the overall index size remains the same even after the deletes. It > >> does > >> > not seem to go down. > >> > > >> > I understand that Solr would do this in background - but I don't seem > to > >> > see the decrease in overall index size even after 1-2 hours. > >> > I can see a bunch of ".del" files in the index directory, but the it > >> does > >> > not seem to get cleaned up. Is there anyway to monitor/follow the > >> progress > >> > of index compaction? > >> > > >> > Also, does triggering "optimize" from the admin UI help to compact the > >> > index size on disk? > >> > > >> > Thanks > >> > Vinay > >> > > >> > > >> > On 14 April 2014 12:19, Vinay Pothnis <poth...@gmail.com> wrote: > >> > > >> >> Some update: > >> >> > >> >> I removed the auto warm configurations for the various caches and > >> reduced > >> >> the cache sizes. I then issued a call to delete a day's worth of data > >> (800K > >> >> documents). > >> >> > >> >> There was no out of memory this time - but some of the nodes went > into > >> >> recovery mode. Was able to catch some logs this time around and this > is > >> >> what i see: > >> >> > >> >> **************** > >> >> *WARN [2014-04-14 18:11:00.381] [org.apache.solr.update.PeerSync] > >> >> PeerSync: core=core1_shard1_replica2 url=http://host1:8983/solr > >> >> <http://host1:8983/solr> too many updates received since start - > >> >> startingUpdates no longer overlaps with our currentUpdates* > >> >> *INFO [2014-04-14 18:11:00.476] > >> [org.apache.solr.cloud.RecoveryStrategy] > >> >> PeerSync Recovery was not successful - trying replication. > >> >> core=core1_shard1_replica2* > >> >> *INFO [2014-04-14 18:11:00.476] > >> [org.apache.solr.cloud.RecoveryStrategy] > >> >> Starting Replication Recovery. core=core1_shard1_replica2* > >> >> *INFO [2014-04-14 18:11:00.535] > >> [org.apache.solr.cloud.RecoveryStrategy] > >> >> Begin buffering updates. core=core1_shard1_replica2* > >> >> *INFO [2014-04-14 18:11:00.536] > >> [org.apache.solr.cloud.RecoveryStrategy] > >> >> Attempting to replicate from > >> http://host2:8983/solr/core1_shard1_replica1/ > >> >> <http://host2:8983/solr/core1_shard1_replica1/>. > >> core=core1_shard1_replica2* > >> >> *INFO [2014-04-14 18:11:00.536] > >> >> [org.apache.solr.client.solrj.impl.HttpClientUtil] Creating new http > >> >> client, > >> >> > >> > config:maxConnections=128&maxConnectionsPerHost=32&followRedirects=false* > >> >> *INFO [2014-04-14 18:11:01.964] > >> >> [org.apache.solr.client.solrj.impl.HttpClientUtil] Creating new http > >> >> client, > >> >> > >> > config:connTimeout=5000&socketTimeout=20000&allowCompression=false&maxConnections=10000&maxConnectionsPerHost=10000* > >> >> *INFO [2014-04-14 18:11:01.969] [org.apache.solr.handler.SnapPuller] > >> No > >> >> value set for 'pollInterval'. Timer Task not started.* > >> >> *INFO [2014-04-14 18:11:01.973] [org.apache.solr.handler.SnapPuller] > >> >> Master's generation: 1108645* > >> >> *INFO [2014-04-14 18:11:01.973] [org.apache.solr.handler.SnapPuller] > >> >> Slave's generation: 1108627* > >> >> *INFO [2014-04-14 18:11:01.973] [org.apache.solr.handler.SnapPuller] > >> >> Starting replication process* > >> >> *INFO [2014-04-14 18:11:02.007] [org.apache.solr.handler.SnapPuller] > >> >> Number of files in latest index in master: 814* > >> >> *INFO [2014-04-14 18:11:02.007] > >> >> [org.apache.solr.core.CachingDirectoryFactory] return new directory > for > >> >> /opt/data/solr/core1_shard1_replica2/data/index.20140414181102007* > >> >> *INFO [2014-04-14 18:11:02.008] [org.apache.solr.handler.SnapPuller] > >> >> Starting download to > >> >> NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@ > >> /opt/data/solr/core1_shard1_replica2/data/index.20140414181102007 > >> >> lockFactory=org.apache.lucene.store.NativeFSLockFactory@5f6570fe; > >> >> maxCacheMB=48.0 maxMergeSizeMB=4.0) fullCopy=true* > >> >> > >> >> **************** > >> >> > >> >> > >> >> So, it looks like the number of updates is too huge for the regular > >> >> replication and then it goes into full copy of index. And since our > >> index > >> >> size is very huge (350G), this is causing the cluster to go into > >> recovery > >> >> mode forever - trying to copy that huge index. > >> >> > >> >> I also read in some thread > >> >> > >> > http://lucene.472066.n3.nabble.com/Recovery-too-many-updates-received-since-start-td3935281.htmlthatthereis > a limit of 100 documents. > >> >> > >> >> I wonder if this has been updated to make that configurable since > that > >> >> thread. If not, the only option I see is to do a "trickle" delete of > >> 100 > >> >> documents per second or something. > >> >> > >> >> Also - the other suggestion of using "distributed=false" might not > help > >> >> because the issue currently is that the replication is going to "full > >> copy". > >> >> > >> >> Any thoughts? > >> >> > >> >> Thanks > >> >> Vinay > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> On 14 April 2014 07:54, Vinay Pothnis <poth...@gmail.com> wrote: > >> >> > >> >>> Yes, that is our approach. We did try deleting a day's worth of data > >> at a > >> >>> time, and that resulted in OOM as well. > >> >>> > >> >>> Thanks > >> >>> Vinay > >> >>> > >> >>> > >> >>> On 14 April 2014 00:27, Furkan KAMACI <furkankam...@gmail.com> > wrote: > >> >>> > >> >>>> Hi; > >> >>>> > >> >>>> I mean you can divide the range (i.e. one week at each delete > >> instead of > >> >>>> one month) and try to check whether you still get an OOM or not. > >> >>>> > >> >>>> Thanks; > >> >>>> Furkan KAMACI > >> >>>> > >> >>>> > >> >>>> 2014-04-14 7:09 GMT+03:00 Vinay Pothnis <poth...@gmail.com>: > >> >>>> > >> >>>> > Aman, > >> >>>> > Yes - Will do! > >> >>>> > > >> >>>> > Furkan, > >> >>>> > How do you mean by 'bulk delete'? > >> >>>> > > >> >>>> > -Thanks > >> >>>> > Vinay > >> >>>> > > >> >>>> > > >> >>>> > On 12 April 2014 14:49, Furkan KAMACI <furkankam...@gmail.com> > >> wrote: > >> >>>> > > >> >>>> > > Hi; > >> >>>> > > > >> >>>> > > Do you get any problems when you index your data? On the other > >> hand > >> >>>> > > deleting as bulks and reducing the size of documents may help > you > >> >>>> not to > >> >>>> > > hit OOM. > >> >>>> > > > >> >>>> > > Thanks; > >> >>>> > > Furkan KAMACI > >> >>>> > > > >> >>>> > > > >> >>>> > > 2014-04-12 8:22 GMT+03:00 Aman Tandon <amantandon...@gmail.com > >: > >> >>>> > > > >> >>>> > > > Vinay please share your experience after trying this > solution. > >> >>>> > > > > >> >>>> > > > > >> >>>> > > > On Sat, Apr 12, 2014 at 4:12 AM, Vinay Pothnis < > >> poth...@gmail.com> > >> >>>> > > wrote: > >> >>>> > > > > >> >>>> > > > > The query is something like this: > >> >>>> > > > > > >> >>>> > > > > > >> >>>> > > > > *curl -H 'Content-Type: text/xml' --data > >> >>>> '<delete><query>param1:(val1 > >> >>>> > > OR > >> >>>> > > > > val2) AND -param2:(val3 OR val4) AND > >> date_param:[1383955200000 TO > >> >>>> > > > > 1385164800000]</query></delete>' > >> >>>> > > > > 'http://host:port/solr/coll-name1/update?commit=true'* > >> >>>> > > > > > >> >>>> > > > > Trying to restrict the number of documents deleted via the > >> date > >> >>>> > > > parameter. > >> >>>> > > > > > >> >>>> > > > > Had not tried the "distrib=false" option. I could give > that a > >> >>>> try. > >> >>>> > > Thanks > >> >>>> > > > > for the link! I will check on the cache sizes and autowarm > >> >>>> values. > >> >>>> > Will > >> >>>> > > > try > >> >>>> > > > > and disable the caches when I am deleting and give that a > >> try. > >> >>>> > > > > > >> >>>> > > > > Thanks Erick and Shawn for your inputs! > >> >>>> > > > > > >> >>>> > > > > -Vinay > >> >>>> > > > > > >> >>>> > > > > > >> >>>> > > > > > >> >>>> > > > > On 11 April 2014 15:28, Shawn Heisey <s...@elyograg.org> > >> wrote: > >> >>>> > > > > > >> >>>> > > > > > On 4/10/2014 7:25 PM, Vinay Pothnis wrote: > >> >>>> > > > > > > >> >>>> > > > > >> When we tried to delete the data through a query - say 1 > >> >>>> > day/month's > >> >>>> > > > > worth > >> >>>> > > > > >> of data. But after deleting just 1 month's worth of > data, > >> the > >> >>>> > master > >> >>>> > > > > node > >> >>>> > > > > >> is going out of memory - heap space. > >> >>>> > > > > >> > >> >>>> > > > > >> Wondering is there any way to incrementally delete the > >> data > >> >>>> > without > >> >>>> > > > > >> affecting the cluster adversely. > >> >>>> > > > > >> > >> >>>> > > > > > > >> >>>> > > > > > I'm curious about the actual query being used here. Can > >> you > >> >>>> share > >> >>>> > > it, > >> >>>> > > > or > >> >>>> > > > > > a redacted version of it? Perhaps there might be a clue > >> there? > >> >>>> > > > > > > >> >>>> > > > > > Is this a fully distributed delete request? One thing > you > >> >>>> might > >> >>>> > try, > >> >>>> > > > > > assuming Solr even supports it, is sending the same > delete > >> >>>> request > >> >>>> > > > > directly > >> >>>> > > > > > to each shard core with distrib=false. > >> >>>> > > > > > > >> >>>> > > > > > Here's a very incomplete list about how you can reduce > Solr > >> >>>> heap > >> >>>> > > > > > requirements: > >> >>>> > > > > > > >> >>>> > > > > > http://wiki.apache.org/solr/SolrPerformanceProblems# > >> >>>> > > > > > Reducing_heap_requirements > >> >>>> > > > > > > >> >>>> > > > > > Thanks, > >> >>>> > > > > > Shawn > >> >>>> > > > > > > >> >>>> > > > > > > >> >>>> > > > > > >> >>>> > > > > >> >>>> > > > > >> >>>> > > > > >> >>>> > > > -- > >> >>>> > > > With Regards > >> >>>> > > > Aman Tandon > >> >>>> > > > > >> >>>> > > > >> >>>> > > >> >>>> > >> >>> > >> >>> > >> >> > >> > > > > > -- Regards, Shalin Shekhar Mangar.