Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
Commitfdff819
committed
bug#38879 [Cache] Fixed expiry could be int in ChainAdapter due to race conditions (phamviet)
This PR was merged into the 4.4 branch.Discussion----------[Cache] Fixed expiry could be int in ChainAdapter due to race conditions| Q | A| ------------- | ---| Branch? | 4.4| Bug fix? | yes| New feature? | no| Deprecations? | no| Tickets |Fix#38635| License | MIT| Doc PR | noThis bug is hard to re-produce and seems only happen with ArrayAdapter only.Steps to reproduce:cache.yaml```simple.cache: adapters: - cache.adapter.array - cache.adapter.redis``````phpif (isset($item->metadata[CacheItem::METADATA_EXPIRY])) { $logger->debug($item->key, $item->metadata); $format = is_int($item->metadata[CacheItem::METADATA_EXPIRY]) ? 'U' : 'U.u'; $item->expiresAt(\DateTime::createFromFormat($format, $item->metadata[CacheItem::METADATA_EXPIRY])); }```Refresh webpage multiple time to make web server busy and logs:```[2020-10-29T17:04:51.119653+07:00] application.DEBUG: item-key {"expiry":1603965892.118222,"ctime":4} [][2020-10-29T17:04:54.322937+07:00] application.DEBUG: item-key {"expiry":1603965895.308393,"ctime":17} [][2020-10-29T17:04:54.745923+07:00] application.DEBUG: item-key {"expiry":1603965895,"ctime":16} []```Commits-------268816f [Cache] Fixed expiry maybe int due too race conditions1 file changed
+5
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
78 | 82 | | |
79 | 83 | | |
80 | 84 | | |
| |||
0 commit comments
Comments
(0)