Hello everyone! We have been having stale cache issues with dispatcher. When looking at the dispatcher.log we noticed that several `evicted` messages in the below format. There is no documentation available on the eviction strategy of dispatcher. Available cache size on File System is abundant.
[Tue Jan 25 10:54:02 2022] [I] [pid 5754 (tid 140051694446336)] Touched /opt/aemDispatcher/cache/content/news/en/local/k/2022/1/25/.stat
[Tue Jan 25 10:54:02 2022] [I] [pid 5754 (tid 140051694446336)] Evicted /opt/aemDispatcher/cache/content/news/en/local/k/2022/1/25/article.html
[Tue Jan 25 10:54:02 2022] [I] [pid 5754 (tid 140051694446336)] Evicted /opt/aemDispatcher/cache/content/news/en/local/k/2022/1/25/article.lts.json.h
--
--
[Tue Jan 25 13:52:20 2022] [I] [pid 32190 (tid 140051677660928)] Touched /opt/aemDispatcher/cache/content/news/en/local/k/2022/1/25/.stat
[Tue Jan 25 13:52:20 2022] [I] [pid 32190 (tid 140051677660928)] Evicted /opt/aemDispatcher/cache/content/news/en/local/k/2022/1/25/article.html
Could anyone please share insights on this eviction model and if it can be configured not to evict?
Solved! Go to Solution.
The documentation states:
Dispatcher creates .statfiles in each folder from the docroot folder to the level that you specify. The docroot folder is level 0.
/content =statfileslevel 0
/content/foo =statfileslevel 1
/content/foo/bar = statfileslevel 2
Hi @aem654587 ,
There are less documentation present on eviction process of dispatcher, but Evicted meaning, these files are getting pushed out due to space crunch. Dispatcher clears out the old and unused files replacing with new content in cache. Since you said there are lot of space present in file system, can you try checking if the space is properly allocated and available where the cache is being created?
The timing definition of old in our case seems to be very short. We have continuous traffic to those articles yet they are getting evicted. 95% of disk space is available in cache root folder.
This message is logged, if a cache invalidation causes files to be removed. I wonder why this is logged on INFO at all ...
In that case, we are not seeing evicted message logged for every invalidation request sent to dispatcher from the publish instance. My understanding is that a cache invalidation triggered by resource activation will only touch the stat file. Under what circumstances a cache invalidation will/will not evict?
This message is logged on DEBUG.
On activation, below is an example snippet of what is currently logged in dispatcher.log:
[Wed Jan 26 09:30:16 2022] [D] [pid 5634 (tid 140051644090112)] checking [/invalidation_only/dispatcher/invalidate.cache]
[Wed Jan 26 09:30:16 2022] [I] [pid 5634 (tid 140051644090112)] Activation detected: action=Activate [/content/dam/news/en/local/r/content-fragments/articles/2022/1/25/blah]
[Wed Jan 26 09:30:16 2022] [I] [pid 5634 (tid 140051644090112)] Touched /opt/aemDispatcher/cache/.stat
I am not absolutely familiar with the diispatcher, but this message is written on INFO level (as indicated by the "[I]" in the log message.
I could imagine that it is only sent on certain types of activation, e.g. "delete".
Anyway, I would recommend you to raise a support ticket and ask for an extension of the existing documentation to cover this message as well.
Thank you Jörg. We will reach out to support for the extended documentation.
Are you able to have a look at the dispatcher source and tell us what are the rules for this behaviour? The dispatcher is like black-box no one seem to want to look at its source.
I have a similar question right now I have stat level set at 4 and flush event at level 6 touches all the way to and including level 5 but evicts level 6... magic!
The documentation states:
Dispatcher creates .statfiles in each folder from the docroot folder to the level that you specify. The docroot folder is level 0.
/content =statfileslevel 0
/content/foo =statfileslevel 1
/content/foo/bar = statfileslevel 2