For the past month of so, CirrusSearch has suddenly and randomly stopped working and given the message "An error has occurred while searching: We could not complete your search due to a temporary problem. Please try again later."
Our wiki has used elasticsearch via CirrusSearch for a good while now with no issues, but recently our traffic has slowly been improving, and that is when trouble with search began. Restarting our VPS would solve the issue, but over time search would eventually go down again. As wiki traffic gradually increased, so did the frequency of the error, up to the point where search would go down daily.
Thinking it might be a memory use issue, I created a custom.options file in elasticsearch/jvm.options.d with the settings
-Xms3g
-Xmx3g
Nothing changed at first, as I didn't restart Elasticsearch, but the next morning search was down per usual, so I rebooted the VPS to get it working again. This time, that didn't solve the problem. The message "An error has occurred while searching" was still appearing. I deleted the custom.options file I had created, and rebooted the VPS again. Still this didn't solve the problem.
To avoid not having any search function at all, we're now using the default mediawiki search. I checked the elasticsearch.log, but it didn't seem to have anything useful. It did have the message "Native controller process has stopped - no new native processes can be started," but there were no other error messages or an explanation as to why search stopped. I'm not even sure if that's an error or that's just when I disabled CirrusSearch because it had already stopped working anyway and was showing the "error has occurred while searching" message.
Our wiki uses a shared VPS server with 4 cores and our container having 8 GB guaranteed ram, and this is where elasticsearch is also stored (as in there's not a separate server just for it). That has been enough for elasticsearch to function with the default settings up until recently.
I have noticed that with CirrusSearch disabled, our server's total memory use is very low. Just enabling CirrusSearch makes it jump to over 65%, and as time passes that number will slowly creep higher to around 80-83% before search then goes down.
I would much rather have CirrusSearch back again that use the default search, so does anyone know what I should do to solve this issue and stop search giving nothing but error messages?