Providence 1.7.17 + ElasticSearch + disable_out_of_process_search_indexing=1 causes errors

Hi,

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 160.45.229.36: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 160.45.229.36: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.

I'm using

  • 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.

Kind regards,

Martin

Sign In or Register to comment.