Let me answer in line : On 25 January 2016 at 11:02, Rahul Ramesh <rr.ii...@gmail.com> wrote:
> We are facing some issue and we are finding it difficult to debug the > problem. We wanted to understand how solr commit works. > A background on our setup: > We have 3 Node Solr Cluster running in version 5.3.1. Its a index heavy > use case. In peak load, we index 400-500 documents/second. > We also want these documents to be visible as quickly as possible, hence we > run an external script which commits every 3 mins. > This is weird, why not using the auto-soft commit if you want visibility every 3 minutes ? Is there any particular reason you trigger the commit from the client ? > > Consider the three nodes as N1, N2, N3. Commit is an synchronous operation. > So, we will not get control till the commit operation is complete. > > Consider the following scenario. Although it looks like a basic scenario in > distributed system:-) but we just wanted to eliminate this possibility. > > step 1 : At time T1, commit happens to Node N1 > step 2: At same time T1, we search for all the documents inserted in Node > N2. > > My question is > > 1. Is commit an atomic operation? I mean, will commit happen on all the > nodes at the same time? > Which kind of architecture of Solr are you using ? Are you using SolrCloud ? 2. Can we say that, the search result will always contain the documents > before commit / or after commit . Or can it so happen that we get new > documents fron N1, N2 but old documents (i.e., before commit) from N3? > With a manual cluster it could faintly happen. In SolrCloud it should not, but I should double check the code ! > > Thank you, > Rahul > -- -------------------------- Benedetti Alessandro Visiting card : http://about.me/alessandro_benedetti "Tyger, tyger burning bright In the forests of the night, What immortal hand or eye Could frame thy fearful symmetry?" William Blake - Songs of Experience -1794 England