You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To avoid situations where an index gets overloaded with searches (sometimes a slow search can cause this), I implemented an option called "max_search_queue", which sets a limit of the number of threads waiting to acquire the search semaphore in TrafficLimitingSearcher. If this limit is reached, it just rejects the search and throws InterruptedException instead of melting down. I've been running this in production and it seems to work well.
If this sounds good, I'll clean this up into a nice pull request, but here's the main code change:
It sounds great. Another alternative could be to limit the amount of time a Thread should be waiting. Either way is better than the current state. Please clean it up and we'll merge it.
To avoid situations where an index gets overloaded with searches (sometimes a slow search can cause this), I implemented an option called "max_search_queue", which sets a limit of the number of threads waiting to acquire the search semaphore in TrafficLimitingSearcher. If this limit is reached, it just rejects the search and throws InterruptedException instead of melting down. I've been running this in production and it seems to work well.
If this sounds good, I'll clean this up into a nice pull request, but here's the main code change:
clamprecht@1e766e2
The option name I chose in the indexengine_config is "max_search_queue".
The text was updated successfully, but these errors were encountered: