Hi,

> On 28 Feb 2017, at 22:18, ktc <[email protected]> wrote:
> 
> Devs,
> 
> In MediaWiki there are  preprocessor limits
> <https://en.wikipedia.org/wiki/Wikipedia:Template_limits>   that track how
> complex a page is so that rendering can gracefully bail out if any of these
> limits are broken to keep the server stable.  MediaWiki will include this
> information in a comment in the rendered page like:
> &lt;!-- 
> NewPP limit report
> Parsed by mw1270
> Cached time: 20170223033729
> Cache expiry: 2592000
> Dynamic content: false
> CPU time usage: 0.124 seconds
> Real time usage: 0.170 seconds
> Preprocessor visited node count: 468/1000000
> Preprocessor generated node count: 0/1500000
> Post‐expand include size: 50512/2097152 bytes
> Template argument size: 37/2097152 bytes
> Highest expansion depth: 7/40
> Expensive parser function count: 0/500
> Lua time usage: 0.039/10.000 seconds
> Lua memory usage: 1.66 MB/50 MB
> --&gt;  
> 
> We have cases where our users will want to include pages as templates into
> other pages and these can get pretty deeply nested as well as contain some
> complex content that is expensive and/or takes a long time to render.  We
> want to make sure that a user cannot bring our servers down accidentally or
> intentionally due to using too many expensive/long running inclusions on
> their pages.  Testing this on our instance of XWiki is showing that XWiki
> will run until a) the page is finally able to render which could be minutes
> in some cases or b) the server runs out of memory and falls over.
> 
> I have been looking but have been unable to find if XWiki has this sort of
> feature to turn on and configure.  I was also unable to find it in the XWiki
> Jira or in this forum so I wanted to ask the Devs directly.  Does this sort
> of limiting exist on XWiki?  And if so, how can I turn it on?

No there isn’t. The closest I can think of is 
http://extensions.xwiki.org/xwiki/bin/view/Extension/GroovyModuleCommons#HTimedInterruptCustomizer

Do you know other java programs who do this? How would you implement this in 
java? AFAIK it’s not possible. IMO you’d need a custom JVM to guarantee this 
since aborting a thread is not something guaranteed in java.

Thanks
-Vincent

> Thanks!
> 
> View this message in context: 
> http://xwiki.475771.n2.nabble.com/Page-Complexity-limiter-tp7602880.html
> Sent from the XWiki- Dev mailing list archive at Nabble.com.

Reply via email to