@Mark Do you know how I can set the syncLevel to fsync in the solrconfig.xml  I 
can't find in the default solrconfig.xml 

https://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/solr/collection1/conf/solrconfig.xml

The blog posts at 
http://searchhub.org/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud/
 says that enabling the fsync is not a big increase in the update time (a few 
milliseconds (say 10-50 ms)). So I think It is useful to turn on fsync. 

On Aug 27, 2013, at 11:54 AM, Erick Erickson <erickerick...@gmail.com> wrote:

> Soft commits flush to the op system, so a JVM crash/termination 
> shouldn't affect it anyway.

A soft commit is not a hard commit, so there are not guarantees like this. It 
searches committed and non committed segments - non committed segments will not 
magically be committed after a JVM crash.

> Turning on the fsync
> would just be a little bit of extra protection..

If you don't have replication, it turns on strong 'durability' promises. 
Without it, you are on your own if you have a hard machine reset. If durability 
is important to you and you don't have replication, it's important to use the 
fync option here. Unless you have a great, long time, battery backup and/or an 
env such that hard resets don't concern you for some reason. It comes down to 
your requirments.

Responses to Sandro inline below:

On Aug 27, 2013, at 11:43 AM, Sandro Zbinden <zbin...@imagic.ch> wrote:

> Hey Mark
> 
> Thank you very much for the quick answer. We have a single node environment.
> 
> I try to find the fsync option but was not successful. Ended up in the 
> UpdateLog class :-)
> 
> How do I enable fsync in the solrconfig.xml ?

In the updateLog config, its a syncLevel=fsync param.

> 
> 
> Besides that:
> 
> If solr soft commit feature has a on disk guarantee with a transaction log 
> why we don't use solr soft commit as the default commit option ?

Yes, for visibility you should use soft commit. You should also have an auto 
hard commit with openSearcher=false - it's just about flushing the transaction 
log and freeing memory in this configuraiton - which is why it makes sense to 
simply turn on the auto commit for regular hard commits. You may or may not 
want to use auto soft commits.

- Mark

> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Mark Miller [mailto:markrmil...@gmail.com]
> Gesendet: Dienstag, 27. August 2013 17:12
> An: solr-user@lucene.apache.org
> Betreff: Re: Transaction log "on-disk" guarantees
> 
> 
> On Aug 27, 2013, at 11:08 AM, Sandro Zbinden <zbin...@imagic.ch> wrote:
> 
>> Can we activate the transaction log to have on disk guarantees and then use 
>> the solr soft commit feature ?
> 
> Yes you can. If you only have a single node (no replication), you probably 
> want to turn on fsync via the config.
> 
> - Mark
> 

Reply via email to