Bug 33019: Make sure ES records are indexed the first time
authorNick Clemens <nick@bywatersolutions.com>
Wed, 15 Feb 2023 10:50:33 +0000 (23:50 +1300)
committerTomas Cohen Arazi <tomascohen@theke.io>
Mon, 27 Mar 2023 09:29:57 +0000 (11:29 +0200)
commit48b1f230e8ea517450a02359e6f7fd530eda8b67
tree784a3767f5f73d648f04e16337c77075b3381fa9
parent17de3a6feeed8237108c76ac2bf8e1cfddffc127
Bug 33019: Make sure ES records are indexed the first time

This patch ensures records are indexed when they are created.
Previously, we were launching the indexer inside of of a transaction.
This meant that the job was being enqueued, but not being found by the
worker, becaue it was not yet in the DB

This patch skips record indexing in the transaction, and moves the indexing
command after

To test:
1 - Make sure you are using ES, and the es indexer is running
2 - tail -f /var/log/koha/kohadev/*.log
3 - Create a new record
4 - Note error in es-indexer-output.log like:
    [2023/03/21 12:22:36] [WARN] No job found for id=157 main:: /kohadevbox/koha/misc/workers/es_indexer_daemon.pl (129)
5 - Apply patch
6 - Create another record
7  There should be no error
8 - Search for the record and confirm it can be found
9 - View the background jobs in admin, confirm the most recent job has completed

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
C4/Biblio.pm