On 3/8/2021 8:18 PM, Hitesh Khamesra wrote:
We are getting OutOfMemoryError, while concurrently deleting and updating
the data. Looks like we don't have a thread pool to merge segment/index. Is
it possible to control this behavior?

Here's the important part from that massive exception stacktrace:

Caused by: java.lang.OutOfMemoryError: unable to create native thread:

There are exactly two ways you can fix OOME. One is to increase the resource that has been depleted, the other is to change things so that fewer resources are required.

In this case you're running into an OS limit on the number of processes that a user is allowed to start. The default setting for this limit on all Linux distros I have seen is 1024. It's pretty easy to have a Solr instance with significantly more than a thousand threads. On most operating systems, threads are handled by the kernel as processes. Some have separate entities for threads, but that's not very common.

So what you're going to have to do is increase the number of processes that the user which is running Solr is allowed to have.

On most Linux distros this is usually done with the following file:

/etc/security/limits.conf

If you're running with a different OS, you'll need to research how to increase the limit.

Thanks,
Shawn

Reply via email to