[Koha] Z39.50 - internal server error

radek.siman at centrum.cz radek.siman at centrum.cz
Mon Nov 14 20:49:08 NZDT 2016


Hi,
 
 sometimes we are facing very annoying problem concerning Z39.50 searching, bacause all attempt to search records fail with a "white page of death" saying only "Internal server error". It is somehow connected to plack, but we cannot find a good solution.
 
 Symptoms:
# tail plack-error.log -n 5
Undefined subroutine &C4::Breeding::GetZ3950BatchId called at /usr/share/koha/lib/C4/Breeding.pm line 279.
Undefined subroutine &C4::Breeding::GetZ3950BatchId called at /usr/share/koha/lib/C4/Breeding.pm line 279.
Undefined subroutine &C4::Breeding::GetZ3950BatchId called at /usr/share/koha/lib/C4/Breeding.pm line 279.
Undefined subroutine &C4::Breeding::GetZ3950BatchId called at /usr/share/koha/lib/C4/Breeding.pm line 279.
Undefined subroutine &C4::Breeding::GetZ3950BatchId called at /usr/share/koha/lib/C4/Breeding.pm line 279.
Solution A:
# koha-plack --restart
When we restart the plack service, then the searching starts to work again for an unpredictable period of time (often several days, sometimes week or two).
 
 Solution B:
We add a "C4::ImportBatch::" prefix to C4/Breeding.pm at these two lines:
my $batch_id = GetZ3950BatchId($servhref->{servername});
my $breedingid = AddBiblioToBatch($batch_id, $seq, $marcrecord, 'UTF-8', 0, 0);
This solution works well except the fact, that prefixing is not probably the best idea because the procedures SHOULD be already imported. In fact, they aren't. Sometimes.
 
 We think it could be caused by our local changes of code. We are not happy with it, but is it possible that the local changes of code don't work well with plack module? What should be kept in mind to avoid (probably?) incorrect imports with "use" command?
 
Thanks a lot!
Radek



More information about the Koha mailing list