ignore long locked inactive cache entry
Gena Makhomed
gmm на csdoc.com
Пт Май 7 19:40:52 UTC 2021
On 07.05.2021 21:19, Maxim Dounin wrote:
>> [alert] 2569378#2569378: *449013402 open socket #29 left in connection 3
>> [alert] 2569378#2569378: *449013403 open socket #32 left in connection 8
>> [alert] 2569378#2569378: aborting
[...]
>> Конфиг бекенда, на котором была эта ошибка, примерно такой:
>>
>> aio threads;
>> aio_write on;
>
> Скорее всего в данном случае дело в aio_write, см.
> https://trac.nginx.org/nginx/ticket/2162.
Понятно, спасибо!
Максим, Вы говорите в комментариях к этому тикету:
> It is not expected to affect real-world use cases,
> though probably worth fixing anyway.
У меня этот bug проявился именно что в real-world use case.
> If the worker process exits prematurely while a requests updates
> the cache with proxy_cache_use_stale updating;, the cache item
> is stuck in the UPDATING state and won't be updated till the cache
> is reloaded (for example, due to nginx restart or binary upgrade).
> As already explained in comment:2, this is not expected to happen
> in real-world use cases. If you want to be completely safe from
> the particular issue, avoid using aio,
> most notably avoid aio_write on;.
Другими словами aio и aio_write пока что еще не production ready.
Неожиданно, что этот момент не отображен в документации к nginx.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru