Expand my Community achievements bar.

SOLVED

iParsys and dispatcher

Avatar

Employee Advisor

I have a quick question on using iparsys  - If we use iParsys for creating site header and footer then if there is any change in the iParsys content then are we required to flush the dispatcher cache of all the child pages ? If yes then whats the standard way of flushing the cache of all the pages at once in this use case. 

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi,

When the iparsys sits in page hierarchy always higher than the pages which are inheriting content from this iparsys, it should not be an issue. Whenever the iparsys is invalidated, all pages below will be invalidated as well, that's default behaviour (for exactly such reasons).

kind regards,
Jörg

View solution in original post

8 Replies

Avatar

Correct answer by
Employee Advisor

Hi,

When the iparsys sits in page hierarchy always higher than the pages which are inheriting content from this iparsys, it should not be an issue. Whenever the iparsys is invalidated, all pages below will be invalidated as well, that's default behaviour (for exactly such reasons).

kind regards,
Jörg

Avatar

Level 10

I agree with Jorg, it will automatically flush the cache on all the child pages aswell.

Avatar

Level 2

Hi Jörg,

I have a parent page with Iparsys on it and have up to 4 levels of child pages inheriting same Iparsys as right rail content. When I activate the parent page with Iparsys defined, the flush agent only evicting the parent page and not doing anything with child pages. As child pages are not flushed, they still show the old content on right rail Iparsys even after the content on right rail Iparsys has changed. Do you think this is happening due to .stat file?

Avatar

Employee Advisor

Hi,

when you activate a page /content/mybrand/page where you have this iparsys configured, all pages below /content/mybrand/page should be invalidated.

Checklist:

  • Set dispatcher log level to 3 and check that it displays an incoming invalidation request.
  • Compare the statfiles in the cache directory and list their last-modification date.
  • All should be newer than the last-modification time of the cache files.

Jörg

Avatar

Level 2

Thanks for the response.

In my case I have /content/mycompany/en-us/brandpage where Iparsys is configured and stat level set to 4.

When I activate the brandpage, below is how .stat files are touched

[Tue Oct 10 11:58:20 2017] [D] [pid 15324 (tid 139818969331456)] Found farm XXX

[Tue Oct 10 11:58:20 2017] [D] [pid 15324 (tid 139818969331456)] checking [/dispatcher/invalidate.cache]

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] Activation detected: action=Activate [/content/mycompany/en-us/brandpage]

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] Touched /var/www/html/.stat

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] Touched /var/www/html/content/.stat

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] Touched /var/www/html/content/mycompany/.stat

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] Touched /var/www/html/content/mycompany/en-us/.stat

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] Evicted /var/www/html/content/mycompany/en-us/brandpage.html.h

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] Evicted /var/www/html/content/mycompany/en-us/brandpage.html

[Tue Oct 10 11:58:20 2017] [D] [pid 15324 (tid 139818969331456)] response.status = 200

[Tue Oct 10 11:58:20 2017] [D] [pid 15324 (tid 139818969331456)] response.headers[Server] = "Communique/2.6.3 (build 5221)"

[Tue Oct 10 11:58:20 2017] [D] [pid 15324 (tid 139818969331456)] response.headers[Content-Type] = "text/html"

[Tue Oct 10 11:58:20 2017] [D] [pid 15324 (tid 139818969331456)] cache flushed

[Tue Oct 10 11:58:20 2017] [I] [pid 15324 (tid 139818969331456)] "GET /dispatcher/invalidate.cache" 200 13 1ms

Avatar

Employee Advisor

Ok, so at least the invalidation is working.

What page are you requesting, which has that iparsys on it and  should have get invalidated?

Jörg

Avatar

Level 2

I have set stat file level to 4(because as I have different brands and don't want to get the cache of other brands get invalidated). With that in configuration, .stat files are created in

/var/www/html/content/.stat

/var/www/html/content/mycompany/.stat

/var/www/html/content/mycompany/en-us/.stat

/var/www/html/content/mycompany/en-us/brandpage/.stat

When I am accessing pages under /brandpage/product.html or /brandpage/product/devicea.html having Iparsys from parent brandpage, Dispatcher still serving the cached files.

The reason is pretty straightforward. When brandpage(where Iparsys is configured) is activated, dispatcher touching .stat files as explained in my previous comment and NOT touching .stat file in brandpage folder.

So, when pages under /brandpage are accessed, their timestamp is validated with .stat file present under brandpage folder.

Avatar

Level 1

Did you get any solution for same? I was planning to implement a workflow event listener to invalidate child page cache for iparsys but thats a workaround rather than concrete solution.