[Koha-bugs] [Bug 13606] Batch modification for records is limited to ~500

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Thu Apr 9 08:53:55 CEST 2015


http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13606

Frédéric Demians <frederic at tamil.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #35444|0                           |1
        is obsolete|                            |

--- Comment #4 from Frédéric Demians <frederic at tamil.fr> ---
Created attachment 37597
  -->
http://bugs.koha-community.org/bugzilla3/attachment.cgi?id=37597&action=edit
[SIGNED-OFF] Bug 13606: Remove previous job data from the session

Bug 11395 uses the session to store the report sent to the interface
(update on biblio XX OK, etc.).

If the session is stored in mysql, the max size of the
sessions.a_session will be reached easily (TEXT field).

To reproduce:
0/ Set SessionStorage to 'mysql'
1/ Create a file with 500 biblionumbers:
  mysql -e "select biblionumber from biblio limit 500;" | tail -n 500 >
/tmp/biblionumbers.txt
2/ Define a marc modification template (something like "delete field 99$9" is
nice)
3/ Load the /tmp/biblionumbers.txt in the batch biblio modification tool
4/ Repeat 3
You will get:
  Syck parser (line 1534, column 6): syntax error at
  /usr/lib/i386-linux-gnu/perl5/5.20/YAML/Syck.pm line 75.
None Koha page is reachable.

It comes from get_template_and_user > checkauth > get_session >
l.1595 $session = new CGI::Session("driver:MySQL;serializer:yaml;id:md5",
$sessionID, {Handle=>$dbh});

5/ Get your sessionID contained in your CGISESSID cookie
Have a look at the value a_session in the sessions table:
mysql> select a_session from sessions where id="YOUR_SESSIONID";

You should see that the yaml is not correctly ended.
The size of the DB field has been reached and the yaml is truncated.

Test plan:
0/ Delete your CGISESSID cookie
1/ Try to reproduce the previous issue
2/ After the second batch, have a look at the sessions table and confirm
that only one job_$JOB_ID exist in the yaml

Signed-off-by: Frederic Demians <f.demians at tamil.fr>

I can reproduce de bug. I can see also the useless C4::BackgroundJob session
data. I confirm that modifying two consecutive 500 records batches broke
entirely the session YAML representation deserialization. And finally I
confirm that this patch fixes all those issues.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list