View Issue Details

This bug affects 1 person(s).
 2
IDProjectCategoryView StatusLast Update
16788Bug reportsOtherpublic2021-03-22 16:09
Reportergsoto Assigned Topstelling  
PrioritynoneSeveritycrash 
Status closedResolutionfixed 
Product Version3.24.0 
Summary16788: Column 'expire' in lime_sessions has no index
Description

When changing the handling of session files to table based sessions, LS creates the table 'lime_sessions'. In this table, the column 'expire' has no index. Session files that are expired are deleted with the DB request "DELETE FROM lime_sessions WHERE expire<'x'". When a large number of participants access the survey at the same time, this DB request takes longer and longer. This blocks the table for other requests. This in turn leads to the PHP processes having to wait. When the maximum number of PHP processes is reached, the system crashes.

This issue can be handled by creating an index on the column 'expire' in 'lime_sessions', speeding up the DB request for deleting session entries.

TagsNo tags attached.
Bug heat2
Complete LimeSurvey version number (& build)Version 3.24.0+201013
I will donate to the project if issue is resolvedNo
Browser
Database type & version10.3-MariaDB
Server OS (if known)
Webserver software & version (if known)
PHP Version7.4.11

Users monitoring this issue

There are no users monitoring this issue.

Activities

ollehar

ollehar

2021-02-08 17:14

administrator   ~62027

Please check if this bug still exists in the latest patch release. Thank you.

ollehar

ollehar

2021-03-05 12:25

administrator   ~62755

Can you give us your exact table definition of lime_sessions table, please? The code looks weird to me, big diff between udpatedb and install fresh db.

ollehar

ollehar

2021-03-05 12:41

administrator   ~62756

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=31267

ollehar

ollehar

2021-03-05 12:41

administrator   ~62757

Pushed to master. Please pull and test.

Related Changesets

LimeSurvey: master 1d9c951d

2021-03-05 12:41:25

ollehar

Details Diff
Fixed issue 16788: Column 'expire' in lime_sessions has no index Affected Issues
16788
mod - application/config/version.php Diff File
mod - application/helpers/update/updatedb_helper.php Diff File
mod - installer/create-database.php Diff File

Issue History

Date Modified Username Field Change
2020-10-26 10:17 gsoto New Issue
2020-10-26 14:34 LimeBot Sync to Zoho Project => |Yes|
2021-02-08 17:14 ollehar Assigned To => ollehar
2021-02-08 17:14 ollehar Status new => feedback
2021-02-08 17:14 ollehar Note Added: 62027
2021-03-01 16:57 c_schmitz Assigned To ollehar => c_schmitz
2021-03-01 17:05 c_schmitz Status feedback => confirmed
2021-03-01 17:05 c_schmitz Assigned To c_schmitz => pstelling
2021-03-01 17:05 c_schmitz Category _ Unknown => Other
2021-03-01 17:05 c_schmitz Sync to Zoho Project Yes => |Yes|
2021-03-01 17:06 c_schmitz Status confirmed => assigned
2021-03-01 17:06 c_schmitz Sync to Zoho Project Yes => |Yes|
2021-03-05 12:25 ollehar Note Added: 62755
2021-03-05 12:41 ollehar Changeset attached => LimeSurvey master 1d9c951d
2021-03-05 12:41 ollehar Note Added: 62756
2021-03-05 12:41 ollehar Assigned To pstelling => ollehar
2021-03-05 12:41 ollehar Resolution open => fixed
2021-03-05 12:41 ollehar Note Added: 62757
2021-03-05 12:41 ollehar Status assigned => ready for testing
2021-03-22 13:02 c_schmitz Status ready for testing => resolved
2021-03-22 13:05 c_schmitz Assigned To ollehar => pstelling
2021-03-22 13:05 c_schmitz Sync to Zoho Project Yes => |Yes|
2021-03-22 16:09 c_schmitz Status resolved => closed