Bug 18193 - Elasticsearch - adding new records from Z39.50 results in 'internal server error'
Summary: Elasticsearch - adding new records from Z39.50 results in 'internal server e...
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: Searching - Elasticsearch (show other bugs)
Version: master
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Galen Charlton
QA Contact:
Depends on:
Reported: 2017-03-01 15:35 UTC by Nick Clemens
Modified: 2017-09-26 14:27 UTC (History)
1 user (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Who signed the patch off:
Text to go in the release notes:
Version(s) released in:


Note You need to log in before you can comment on or make changes to this bug.
Description Nick Clemens 2017-03-01 15:35:39 UTC
To recreate:
1 - Go to cataloging
2 - Select 'New from Z39/50'
3 - Search, find a record, import
4 - Save the record
5 - Error!

Checking the logs you should see a dump of the record in xml - Koha chokes trying to access it as a MARC::Record

In C4/Search.pm:
2492 If we are using elasticsearch, it'll already be a MARC::Record and this
2493 function needs a new name.
2495 =cut
2497 sub new_record_from_zebra {
2499     my $server   = shift;
2500     my $raw_data = shift;
2501     # Set the default indexing modes
2502     my $search_engine = C4::Context->preference("SearchEngine");
2503     if ($search_engine eq 'Elasticsearch') {
2504         return $raw_data;
2505     }

However, that doesn't seem to be the case, we are still getting marc XML, adding "&& 0" to the if and nullifying that section (or removing it) seems to solve the issue