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.

Reply via email to