Providence 1.7.17 + ElasticSearch + disable_out_of_process_search_indexing=1 causes errors
I've been trying for weeks to get Providence 1.7.17 to work with ElasticSearch 5.6.16.
It does seem to work with disable_out_of_process_search_indexing = 0 but we need to have records indexed at once and it just takes too long. When I set disable_out_of_process_search_indexing = 1, however, I get a number of warnings and exceptions (that I didn't get before) and the index isn't updated properly. I get a number of warnings about curl like this:
[Wed May 17 16:39:44.228167 2023] [php7:warn] [pid 6725] [client 188.8.131.52:62011] PHP Warning: curl_setopt_array(): supplied resource is not a valid cURL handle resource in /var/www/applications/providence_ca_standard__latest_benu/vendor/guzzlehttp/ringphp/src/Client/CurlFactory.php on line 52, referer: https://benu.ub.fu-berlin.de/providence_ca_standard__latest_benu/index.php/system/auth/login
Also I get an exception like this:
[Wed May 17 16:39:44.228863 2023] [php7:error] [pid 6725] [client 184.108.40.206:62011] PHP Fatal error: Uncaught Elasticsearch\\Common\\Exceptions\\NoNodesAvailableException: No alive nodes found in your cluster in /var/www/applications/providence_ca_standard__latest_benu/vendor/elasticsearch/elasticsearch/src/Elasticsearch/ConnectionPool/StaticNoPingConnectionPool.php:51\nStack trace:\n#0 /var/www/applications/providence_ca_standard__latest_benu/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(72): Elasticsearch\\ConnectionPool\\StaticNoPingConnectionPool->nextConnection()\n#1 /var/www/applications/providence_ca_standard__latest_benu/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(90): Elasticsearch\\Transport->getConnection()\n#2 /var/www/applications/providence_ca_standard__latest_benu/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(256): Elasticsearch\\Transport->performRequest()\n#3 /var/www/applications/providence_ca_standard__latest_benu/vendor/react/promise/src/FulfilledPromise.php(28): Elasticsearch\\Connections\\Connection->Elasticsearch\\Connectio in /var/www/applications/providence_ca_standard__latest_benu/vendor/elasticsearch/elasticsearch/src/Elasticsearch/ConnectionPool/StaticNoPingConnectionPool.php on line 51, referer: https://benu.ub.fu-berlin.de/providence_ca_standard__latest_benu/index.php/system/auth/login
Note that ElasticSearch is available and that I don't get this exception with disable_out_of_process_search_indexing = 0 (when I trigger the indexing process by calling caUtils process-indexing-queue). I just get it when I set the value to 1.
So, one way of triggering the indexing process works while the other results in errors. I would expect that the same code is executed but the software clearly does something different in both cases. Is that a bug in the collective access 1.7.x software?
I also tried disable_out_of_process_search_indexing = 0 and max_indexing_buffer_size = 1 to speed up indexing but it doesn't help.
Do you have any advice what I should do? That would be greatly appreciated.
- Providence 1.7.17 (the latest from the github master branch)
- ElasticSearch 5.6.16 (I installed it using 'docker pull docker.elastic.co/elasticsearch/elasticsearch:5.6.16')
- Redis server 7.0.6
- MariaDB 10.5.19-MariaDB-0+deb11u2 Debian 11
- PHP Version 7.4.33
- Devuan 4
I installed a fresh version of Providence 1.7.17 with an empty database and used the Visual resources collection data model to make sure it's not our complicated data model or our large database.