Bugzilla – Attachment 97198 Details for
Bug 17885
Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings throws DBD::mysql Duplicate entry exceptions
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 17885: Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings throws DBD::mysql Duplicate entry exceptions
Bug-17885-KohaSearchEngineElasticsearch-resetelast.patch (text/plain), 3.12 KB, created by
Jonathan Druart
on 2020-01-10 13:13:13 UTC
(
hide
)
Description:
Bug 17885: Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings throws DBD::mysql Duplicate entry exceptions
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2020-01-10 13:13:13 UTC
Size:
3.12 KB
patch
obsolete
>From 05cd886b62a9310d2b98e036d245d2ee0501026c Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Joonas=20Kylm=C3=A4l=C3=A4?= <joonas.kylmala@helsinki.fi> >Date: Fri, 31 Aug 2018 15:32:20 +0300 >Subject: [PATCH] Bug 17885: > Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings throws > DBD::mysql Duplicate entry exceptions > >When executing >Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings() >against populated search engine mappings tables, one gets this >exception: > >DBD::mysql::st execute failed: Duplicate entry '388-73' for key >'PRIMARY' [for Statement \"INSERT INTO `search_marc_to_field` ( `facet`, >`search_field_id`, `search_marc_map_id`, `sort`, `suggestible`) VALUES ( >?, ?, ?, ?, ? )\" with ParamValues: 0='', 1='73', 2='388', 3=undef, >4=''] at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line >1834.\nDBIx::Class::Storage::DBI::_dbh_execute(): Duplicate entry >'388-73' for key 'PRIMARY' at /home/koha/Koha/Koha/SearchField.pm line >38" > >This patch fixes this, by first deleting all entries, then adding the >default ones. > >If a subroutine says reset_elasticsearch_mappings(), I expect it to >reset the elasticsearch mappings without errors. When writing tests it >is better to call that one subroutine reset_elasticsearch_mappings >instead of the bunch of code in >admin/searchengine/elasticsearch/mappings.pl?op=reset_confirmed >Also this promotes code reuse. > >TEST PLAN: > >a. perl -e 'use Koha::SearchEngine::Elasticsearch; Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings' >b. Run misc/devel/populate_db.pl on an already populated DB and you eventually >face this problem. > >After this patch, step a. works. > >This patch is adapted from the original patch made by Olli-Antti >Kivilahti <olli-antti.kivilahti@jns.fi>. > >Signed-off-by: Johanna Raisa <johanna.raisa@gmail.com> > >Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Test plan is wrong, but changes make sense >--- > Koha/SearchEngine/Elasticsearch.pm | 3 +++ > admin/searchengine/elasticsearch/mappings.pl | 2 -- > 2 files changed, 3 insertions(+), 2 deletions(-) > >diff --git a/Koha/SearchEngine/Elasticsearch.pm b/Koha/SearchEngine/Elasticsearch.pm >index 3d932b6dce..7322f84178 100644 >--- a/Koha/SearchEngine/Elasticsearch.pm >+++ b/Koha/SearchEngine/Elasticsearch.pm >@@ -296,6 +296,9 @@ sub reset_elasticsearch_mappings { > my ( $self ) = @_; > my $indexes = $self->_load_elasticsearch_mappings(); > >+ Koha::SearchMarcMaps->delete; >+ Koha::SearchFields->delete; >+ > while ( my ( $index_name, $fields ) = each %$indexes ) { > while ( my ( $field_name, $data ) = each %$fields ) { > >diff --git a/admin/searchengine/elasticsearch/mappings.pl b/admin/searchengine/elasticsearch/mappings.pl >index 28802f6586..8bbbdadbc5 100755 >--- a/admin/searchengine/elasticsearch/mappings.pl >+++ b/admin/searchengine/elasticsearch/mappings.pl >@@ -166,8 +166,6 @@ if ( $op eq 'edit' ) { > } > } > elsif( $op eq 'reset_confirmed' ) { >- Koha::SearchMarcMaps->delete; >- Koha::SearchFields->delete; > Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings; > $clear_cache->(); > push @messages, { type => 'message', code => 'success_on_reset' }; >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 17885
:
58825
|
58940
|
58941
|
69338
|
78327
|
91308
| 97198