Bug 26996: Convert Elasticsearch indexer commit buffer size to integer
authorBjörn Nylén <bjorn.nylen@ub.lu.se>
Wed, 11 Nov 2020 07:35:21 +0000 (08:35 +0100)
committerFridolin Somers <fridolin.somers@biblibre.com>
Thu, 7 Jan 2021 13:52:16 +0000 (14:52 +0100)
commitcbe7638619de30abd7d68bb0a8d63e36b2c3d874
treec117f12514781e34764c2655fc3bc38c5825c3d1
parente3acb51ff8f71b63c74d1f6f16c6b7cc1a8a8721
Bug 26996: Convert Elasticsearch indexer commit buffer size to integer

When multithreaded indexing is used, the commit size for children are spread
out resulting in them being of type float. When records are processed and the
commit counter decreased it may then never reach *exactly* 0. This means records
are never commited. This patch makes sure the counter is an integer to avoid the
problem.

To test you must find a set of circumstances that causes the issue. For me:
1. Run: ./rebuild_elasticsearch -v -b -p 2 -c 400
2. Note that only one process is logging "Committing xxx records..."
3. Kill processes.
4. Apply patch.
5. Repeat 1
6. Note that both processes are logging "Committing xxx records..."

Sponsored-by: Lund University Library
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ba9c9cc794123d60c92a4ce499aa4554299936b6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
misc/search_tools/rebuild_elasticsearch.pl