[
https://issues.apache.org/jira/browse/SHINDIG-616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12632413#action_12632413
]
Kevin Brown commented on SHINDIG-616:
-------------------------------------
If a single thing that needs to do parse-tree based rewriting is uncacheable,
doesn't that make any cost of parsing irrelevant?
> TTLs for Caching of ContentRewriter ops
> ---------------------------------------
>
> Key: SHINDIG-616
> URL: https://issues.apache.org/jira/browse/SHINDIG-616
> Project: Shindig
> Issue Type: Improvement
> Components: Gadget Rendering Server (Java)
> Reporter: John Hjelmstad
>
> Content from ContentRewriters is cached using a hash of input contents as
> key. This implies that the operation of each Rewriter is idempotent,
> consistent over time, and indefinitely cacheable.
> Several examples run counter to this implication. Eg. Rewriter that inlines
> script previously from a <script src> tag. The script is served with a TTL,
> which should apply to the rewriter output as well.
> I propose that each ContentRewriter method return an object, RewriterResults,
> at first with only one field:
> long cacheTtl; // time in milliseconds that the rewriter operation's results
> may be cached
> (boolean isRewritten is not included since mutability APIs can determine
> that; boolean isCacheable is equivalent to ttl > 0).
> Receipt of these values allows a ContentRewriterRegistry (performing actual
> rewriting operations) to make intelligent choices about what to cache,
> optimizing on timeToPerformRewrite, timeToPerformCacheLookup, and cacheTtl.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.