User tests: Successful: Unsuccessful:
Regardless of the session storage handler used the database session table is cleared based on the result of a modulo operation in JApplicationCms::loadSession(). When using the database for session storage the table is therefore likely be cleared far more often than per the PHPRC gc_ settings, resulting in unnecessary operations. It also renders the database storage handler's gc() method a little redundant and potentially breaks custom handler gc() methods that utilise session table data prior to their deletion.
Amended JApplicationCms::loadSession() so that it won't remove expired sessions from the database when the database storage handler is being used; they will instead be removed only on execution of JSessionStorageDatabase::gc().
#__session table.#__session table on execution of JApplicationCms::loadSession() but on execution of JSessionStorageDatabase::gc().#__session table again.JApplicationCms::loadSession() if the result of the modulo operation is not 0.None
| Status | New | ⇒ | Pending | 
| Category | ⇒ | Libraries | 
| Labels | Added: 
? | ||
 
                | Status | Pending | ⇒ | Closed | 
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-02-14 14:07:46 | 
| Closed_By | ⇒ | mbabker | 
This was actually changed as part of #19165 but it has been demanded to be reverted. So this PR can not be accepted sadly.