Closed (fixed)
Project:
Views Bulk Operations (VBO)
Version:
5.x-1.x-dev
Component:
Code
Priority:
Critical
Category:
Bug report
Assigned:
Reporter:
Created:
19 Dec 2007 at 18:50 UTC
Updated:
19 Aug 2008 at 13:15 UTC
Values from the VBO form are being retained in $_SESSION['form'].
The typical size of an entry in sessions.session field is less than 100b.
User's who have used VBO will have an entry in the 100s of kilobytes.
form.inc typically unsets these values in drupal_get_form(). But in the case of VBO forms, it doesn't seem to do so.
Not sure if this will cause any actual problems, but it does indicate something is not right.
Comments
Comment #1
infojunkieI looked at form.inc. It seems to unset the $_SESSION['form'][$form_build_id] *one day* after the form was created (in _drupal_clean_form_sessions()). Is there a known issue with limited session variable size?
Comment #2
infojunkieThis could be related to the VBO variables holding all actions' information, which is huge. I am considering storing the settings in a DB table instead.
Comment #3
moshe weitzman commentedThe session info has to be unserialized and appended to the $user object on every page view so it is very bad to have huge variables in $_SESSION. If you need them, please unset them as soon as possible.
Comment #4
infojunkie@moshe: I don't store anything in $_SESSION directly. I store the VBO settings in the variables table, but each setting is a huge string that could reach tens of KBs. Maybe you could confirm that such big variables could bloat $_SESSION.
Comment #5
moshe weitzman commentedVariables has the same problem settings. They get unserialized on every page view. I am not too familiar with what is being stored so I can't really suggest an alternative. if you really need that much data, using own table is a good option. It can even be a copy of the variables schema but one that only gets read when you are on a VBO page.
Comment #6
infojunkieFixed as suggested by moshe.
Comment #7
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.