Bugzilla – Attachment 98515 Details for
Bug 23640
L1 cache too long in SIP Server
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 23640: Flushing L1 on every SIP connection
Bug-23640-Flushing-L1-on-every-SIP-connection.patch (text/plain), 2.59 KB, created by
David Cook
on 2020-02-06 02:06:47 UTC
(
hide
)
Description:
Bug 23640: Flushing L1 on every SIP connection
Filename:
MIME Type:
Creator:
David Cook
Created:
2020-02-06 02:06:47 UTC
Size:
2.59 KB
patch
obsolete
>From 911f064a5acb3df2aa87ad60ec8ef5497a1da1c3 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 14 Nov 2019 10:50:24 +0100 >Subject: [PATCH] Bug 23640: Flushing L1 on every SIP connection > >This patch flushes the L1 cache on each SIP connection >(ie every invocation of process_request). > >This means each SIP connection will fetch values from the >L2 cache (ie memcached) and persist the L1 cache (in Perl >memory cache) only until a new SIP connection comes in. > >Without this patch, the L1 cache persists for the length >of the server process, which means the L1 cache will become >stale very quickly, which can lead to unexpected behaviour. > >Test plan: >1. Enable IssueLog >2. Start SIP server > 2a. change to Koha git directory > 2b. koha-shell kohadev > 2c. perl C4/SIP/SIPServer.pm /etc/koha/sites/kohadev/SIPconfig.xml >3. Issue book via SIP > > perl misc/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su term1 -sp term1 -l CPL --patron 1 --item 3999900000001 -m checkout > >4. Check action_logs for "CIRCULATION ISSUE <borrowernumber> <biblionumber>" line > > http://localhost:8081/cgi-bin/koha/tools/viewlog.pl > >5. Disable IssueLog > >6. Check in the book and then check it out again > > perl misc/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su term1 -sp term1 -l CPL --patron 1 --item 3999900000001 -m checkin > perl misc/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su term1 -sp term1 -l CPL --patron 1 --item 3999900000001 -m checkout > >7. Check action_logs for "CIRCULATION ISSUE <borrowernumber> <biblionumber>" line > > http://localhost:8081/cgi-bin/koha/tools/viewlog.pl > >8. Note results > >Without the patch, you'll see a 2nd checkout. > >With the patch, you won't see the 2nd checkout. > >(Note: After applying the patch, you have to restart the SIP server.) > >Signed-off-by: David Cook <dcook@prosentient.com.au> >--- > C4/SIP/SIPServer.pm | 4 ++++ > 1 file changed, 4 insertions(+) > >diff --git a/C4/SIP/SIPServer.pm b/C4/SIP/SIPServer.pm >index 63880c9eb7..81682dc6cb 100755 >--- a/C4/SIP/SIPServer.pm >+++ b/C4/SIP/SIPServer.pm >@@ -16,6 +16,7 @@ use C4::SIP::Sip::Constants qw(:all); > use C4::SIP::Sip::Configuration; > use C4::SIP::Sip::Checksum qw(checksum verify_cksum); > use C4::SIP::Sip::MsgType qw( handle login_core ); >+use Koha::Caches; > > use base qw(Net::Server::PreFork); > >@@ -91,6 +92,9 @@ sub process_request { > > $self->{config} = $config; > >+ # Flushing L1 to make sure the request will be processed using the correct data >+ Koha::Caches->flush_L1_caches(); >+ > my $sockname = getsockname(STDIN); > > # Check if socket connection is IPv6 before resolving address >-- >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 23640
:
95415
|
98515
|
98585