Hi,

I noticed the following post indicating that Solr could recover not-committed 
data from operational log:

http://www.opensourceconnections.com/2013/04/25/understanding-solr-soft-commits-and-data-durability/

which contradicts with Solr's web site:

https://cwiki.apache.org/confluence/display/solr/Near+Real+Time+Searching

that seems to indicate that data soft-committed before the last hard-commit is 
lost.
 
I reproduced what the author did in the first post (the two lessons he listed) 
with Solr 4.7, and specifically compared below two experiments:

I posted some records to Solr without commit
I could not view the records on browser after that since I set soft-commit in 5 
seconds
After 5 seconds, I can view the records on browser
Hard commit still does not happen since I set it in 60 seconds
Kill the Solr with a kill -9 <processId>
Keep the log file
Re-start the Solr
I could see the records via browser

I think the hard-commit does not happen in the above experiment, since in a 
different experiment, I got:

I posted some records to Solr without commit
I could not view the records on browser after that since I set soft-commit in 5 
seconds
After 5 seconds, I can view the records on browser
Hard commit still does not happen since I set it in 60 seconds
Kill the Solr with a kill -9 <processId>
Remove the log file
Re-start the Solr
I could NOT see the records via browser

This means Solr supports some database-like recovery (based on log). So, as 
long as the log exists, after a crash, Solr can still recover from the log.

Any comments or idea?

Thanks.

Shushuai

Reply via email to