Hi Rahul,
It is hard to tell without seeing metrics, but 8GB heap seems small for
such setup - e.g. with indexing buffer of 32MB and 30 collections, it
will eat almost 1GB memory.
About commits, you can set auto commit to be more frequent (keep
openSearcher=false) and add soft commits every 3 min.
What you need to tune is your heap and heap related settings - indexing
buffer, caches. Not sure what you use for monitoring Solr, but
Sematext's SPM (http://sematext.com/spm) is one such tool that can give
you info how you Solr, JVM and host handle different load. One such tool
can give you enough info to tune your Solr.
Regards,
Emir
On 25.01.2016 13:42, Rahul Ramesh wrote:
Can you give us bit more details about Solr heap parameters.
Each node has 32Gb of RAM and we are using 8Gb for heap.
Index size in each node is around 80Gb
#of collections 30
Also can you give us info about auto commit (both hard and soft) you used
when experienced OOM.
<autoCommit> <maxTime>15000</maxTime> <maxDocs>15000</maxDocs> <openSearcher
false</openSearcher> </autoCommit>
soft commit is not enabled.
-Rahul
On Mon, Jan 25, 2016 at 6:00 PM, Emir Arnautovic <
emir.arnauto...@sematext.com> wrote:
Hi Rahul,
It is good that you commit only once, but not sure how external commits
can do something auto commit cannot.
Can you give us bit more details about Solr heap parameters. Running Solr
on the edge of OOM is always risk of starting snowball effect and crashing
entire cluster. Also can you give us info about auto commit (both hard and
soft) you used when experienced OOM.
Thanks,
Emir
On 25.01.2016 12:28, Rahul Ramesh wrote:
Thanks for your replies.
A bit more detail about our setup.
The index size is close to 80Gb spread across 30 collections. The main
memory available is around 32Gb. We are always in short of memory!
Unfortunately we could not expand the memory as the server motherboard
doesnt support it.
We tried with solr auto commit features. However, sometimes we were
getting
Java OOM exception and when I start digging more about it, somebody
suggested that I am not committing the collections often. So, we started
committing the collections explicitly.
Please let me know if our approach is not correct.
*Emir*,
We are committing to the collection only once. We have Node N1, N2 and N3
and for a collection Coll1, commit will happen to N1/coll1 every 3
minutes.
we are not doing it for every node. We will remove _shard<>_replica<> and
use only the collection name to commit.
*Alessandro*,
We are using Solr Cloud with replication factor of 2 and no of shards as
either 2 or 3.
Thanks,
Rahul
On Mon, Jan 25, 2016 at 4:43 PM, Alessandro Benedetti <
abenede...@apache.org
wrote:
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
--
Monitoring * Alerting * Anomaly Detection * Centralized Log Management
Solr & Elasticsearch Support * http://sematext.com/
--
Monitoring * Alerting * Anomaly Detection * Centralized Log Management
Solr & Elasticsearch Support * http://sematext.com/