Performance tuning with rendering cache breaks breadcrumb navigation

Due to a lot of complex documents I activated rendering cache as suggested in Performance.
The result:

  • Pages are delivered 4 to 5 times faster when present in the cache.
  • But the breadcrumb navigation on top of the page is broken: It returns only empty trees, if the page data was already cached

A bit of investigation gave me a workaround:

Modifying documentTree_macros.vm by inserting an additional line (66) at

     64   #set ($resourceParams = {
     65     'outputSyntax': 'plain',
     66     'refresh' : 1,
     67     'sheet': 'XWiki.DocumentTree'
     68   })

adds an additional &refresh=1 to the generated AJAX-requests, when the breadcrumb is used.

But this is only a workaround, as breadcrumb navigation will ignore any rendering cache optimizations.

Is there a better solution available?

Thanks

Norbert

P.S. The problem was found in version XWiki versions 13.10.11 and 14.10.20

1 Like

Addendum:

The display of notifications is broken too. It returns an empty list, if the cached document is returned from the cache at least the second (!) time.

Workaround:

I have modified the matching patterns in xwiki.properties from

core.renderingcache.documents = xwiki:.*

to

core.renderingcache.documents = xwiki:[A-WYZ].*

This inhibits caching from any XWiki… macro code.

Suggestion
Introduction of a negative matching patterns entry in xwiki.properties (just to avoid complicated regular expressions)