Cache doesn't expire as should

Maxim Dounin mdounin at
Tue Dec 22 13:49:00 UTC 2015


On Tue, Dec 22, 2015 at 02:43:11PM +0300, Руслан Закиров wrote:


> Our error log has "ignore long locked inactive cache entry" alerts, but I
> really couldn't match it to "defreeze" event. Access log has STALE/UPDATING
> requests between the alert and EXPIRED (cache updating) request.

The "ignore long locked inactive cache entry" alerts indicate that 
a cache entry was locked by some request, and wasn't unlocked for 
a long time.  The alert is expected to appear if a cache node is 
locked for cache inactive time (as set by proxy_cache_path 
inactive=, 10 minutes by default).

Most likely reason is that a worker died or was killed 
while holding a lock on a cache node (i.e., while a request was 
waiting for a new response from a backend).

Trivial things to consider:

- check logs for segmentation faults;

- if you are using 3rd party modules / patches, try without them;

- make sure you don't kill worker processes yourself or using some 
  automation scripts (in particular, don't try to terminate old 
  worker processes after a configuration reload).

Maxim Dounin

More information about the nginx mailing list