Bug 24552

Summary: Koha does not work with Search::Elasticsearch 6.00
Product: Koha Reporter: Julian Maurice <julian.maurice>
Component: Architecture, internals, and plumbingAssignee: Julian Maurice <julian.maurice>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: critical    
Priority: P1 - high CC: 1joynelson, black23, ere.maijala, hayleypelham, katrin.fischer, lucas, martin.renvoize, mtj, nick
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24639
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30736
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
20.05.00, 19.11.05, 19.05.10
Bug Depends on:    
Bug Blocks: 30736, 24167    
Attachments: Bug 24552: Be compatible with Search::Elasticsearch 6.00
Bug 24552: Be compatible with Search::Elasticsearch 6.00
Bug 24552: Be compatible with Search::Elasticsearch 6.00
Bug 24552: Be compatible with Search::Elasticsearch 6.00

Description Julian Maurice 2020-01-31 10:13:12 UTC
Koha doesn't work with the latest version of Search::Elasticsearch (6.00)

Steps to reproduce:
1. Install latest version of Search::Elasticsearch
2. Set SearchEngine syspref to 'Elasticsearch'
3. Reload starman
4. Do a search

The search fails with the following error message:

Error: Can't locate Search/Elasticsearch/Client/5_0/Direct.pm in @INC (you may need to install the Search::Elasticsearch::Client::5_0::Direct module)
Comment 1 Julian Maurice 2020-01-31 10:17:21 UTC
Created attachment 98223 [details] [review]
Bug 24552: Be compatible with Search::Elasticsearch 6.00

There is no need to specify the `client` param here because
'5_0::Direct' is the default value for Search::Elasticsearch 5.x and it
breaks when Search::Elasticsearch 6.x is installed

Test plan:
1. Apply the patch
2. Make sure you have Search::Elasticsearch 5.x
3. Reload starman
4. Verify that search works
5. Install Search::Elasticsearch 6.x
6. Reload starman
7. Verify that search works
Comment 2 Michal Denar 2020-01-31 20:42:42 UTC
Created attachment 98249 [details] [review]
Bug 24552: Be compatible with Search::Elasticsearch 6.00

There is no need to specify the `client` param here because
'5_0::Direct' is the default value for Search::Elasticsearch 5.x and it
breaks when Search::Elasticsearch 6.x is installed

Test plan:
1. Apply the patch
2. Make sure you have Search::Elasticsearch 5.x
3. Reload starman
4. Verify that search works
5. Install Search::Elasticsearch 6.x
6. Reload starman
7. Verify that search works

Signed-off-by: Michal Denar <black23@gmail.com>
Comment 3 Mason James 2020-02-28 18:45:02 UTC
increasing severiyy to fix broken jenkins

https://jenkins.koha-community.org/job/Koha_Master_D10_Deps/5/consoleText

koha_1       | Test Summary Report
koha_1       | -------------------
koha_1       | t/db_dependent/Koha/SearchEngine/Elasticsearch/Indexer.t              (Wstat: 2816 Tests: 2 Failed: 1)
koha_1       |   Failed test:  2
koha_1       |   Non-zero exit status: 11
koha_1       | t/db_dependent/Koha/Patrons.t                                         (Wstat: 512 Tests: 40 Failed: 2)
koha_1       |   Failed tests:  17-18
koha_1       |   Non-zero exit status: 2
koha_1       | t/db_dependent/Koha/XSLT/Security.t                                   (Wstat: 256 Tests: 8 Failed: 1)
koha_1       |   Failed test:  7
koha_1       |   Non-zero exit status: 1
koha_1       | t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t               (Wstat: 512 Tests: 4 Failed: 0)
koha_1       |   Non-zero exit status: 2
koha_1       |   Parse errors: Bad plan.  You planned 13 tests but ran 4.
koha_1       | Files=499, Tests=13968, 2404.87 wallclock secs ( 4.84 usr  9.79 sys + 2334.25 cusr 768.49 csys = 3117.37 CPU)
koha_1       | Result: FAIL
Comment 4 Mason James 2020-02-28 18:59:12 UTC
*** Bug 24639 has been marked as a duplicate of this bug. ***
Comment 5 Ere Maijala 2020-03-05 09:14:11 UTC
Created attachment 100168 [details] [review]
Bug 24552: Be compatible with Search::Elasticsearch 6.00

There is no need to specify the `client` param here because
'5_0::Direct' is the default value for Search::Elasticsearch 5.x and it
breaks when Search::Elasticsearch 6.x is installed

Test plan:
1. Apply the patch
2. Make sure you have Search::Elasticsearch 5.x
3. Reload starman
4. Verify that search works
5. Install Search::Elasticsearch 6.x
6. Reload starman
7. Verify that search works

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>
Comment 6 Nick Clemens 2020-03-05 11:29:10 UTC
Created attachment 100179 [details] [review]
Bug 24552: Be compatible with Search::Elasticsearch 6.00

There is no need to specify the `client` param here because
'5_0::Direct' is the default value for Search::Elasticsearch 5.x and it
breaks when Search::Elasticsearch 6.x is installed

Test plan:
1. Apply the patch
2. Make sure you have Search::Elasticsearch 5.x
3. Reload starman
4. Verify that search works
5. Install Search::Elasticsearch 6.x
6. Reload starman
7. Verify that search works

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 7 Martin Renvoize 2020-03-05 13:06:25 UTC
Nice work everyone!

Pushed to master for 20.05
Comment 8 Joy Nelson 2020-04-01 22:25:13 UTC
Backported to 19.11.x for 19.11.05
Comment 9 Lucas Gass 2020-04-09 19:40:25 UTC
backported to 19.05.x for 19.05.10
Comment 10 Hayley Pelham 2020-04-14 22:04:27 UTC
Not backporting Elasticsearch patches for 18.11.1x series - contact me if you'd like to discuss