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