FileCache a PHP unserialize bug
- Pechy.cz
- Bronze Partner | 21
Zdravíčko pánové.
Mám na Vás dotaz, zda jste se s tímto setkali či tento problém
vyřešili.
Máme aplikaci, pod kterou běží několik portálů, API, CLI úlohy, atd..
Je toho docela dost.
A náhodně to jednou za čas (dejme tomu 1 z 5000) requestů prostě
padne.
Po dlouhém bádání se nám podařilo díky render testům celé aplikace
tuhle chybu pomocí XDebug trace dopátrat, že vzniká náhodně při
unserialize, když se sestavuje aplikace z FileCache a někdy si PHPko chytne
do paměti jinam a tak je zabito.
Pogooglil jsem, že unserialize při správné konstalaci hvězd prostě padá,
bylo to už asi 5× opravováno v různých verzích PHPka, ale stejně
očividně nikdy né finálně. Zkoušeli jsme různé verze PHP (7.0, 7.1), ale
stává se to ve všech.
Nasadili jsme do produkce Redis cache, čímž jsme chybovost snížili
např. z 20–50/denně na 2–5/denně.
Nicméně to stále není finální řešení.
Setkali jste se s tím někdo?
Když se to přidá k Database
refetch failed! , tak je to již druhý problém, se kterým si nevíme
rady :(
Jsme tedy ještě na Nette 2.3, ale brzy budeme přecházet na nejnovější.
Editoval Pechy.cz (8. 2. 2018 13:26)