Make WordPress Core

Opened 5 years ago

Last modified 5 years ago

#44977 new defect (bug)

Transient fill fail delete itself if it's timeout option is absolete — at Initial Version

Reported by: nlozovan's profile nlozovan Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Options, Meta APIs Keywords: needs-patch
Focuses: Cc:

Description

Just faced this issue - for some reason, the transient was not deleting itself. While checking the DB, the option with the transient was there, while the timeout option was missing (probably a glitch while saving to DB).
Now, if you check get_transient() in option.php (quick link https://core.trac.wordpress.org/browser/tags/4.9.8/src/wp-includes/option.php#L0 ) you can see that these are deleted only if both exist and both pass the test:

[...]

if ( false !== $timeout && $timeout < time() ) { DELETING TRANSIENT}

[...]

Otherwise transient will hang... forever. This should be tuned up so it also checks that these options exist, and delete transient if timeout is absolete.

Change History (0)

Note: See TracTickets for help on using tickets.