Opened 6 years ago
Last modified 6 years ago
#44977 new defect (bug)
Transient fill fail delete to itself if it's timeout option is missing
Reported by: | nlozovan | Owned by: | |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | normal | Version: | |
Component: | Options, Meta APIs | Keywords: | needs-patch |
Focuses: | Cc: |
Description (last modified by )
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 (2)
Note: See
TracTickets for help on using
tickets.