[
https://issues.apache.org/jira/browse/SAMZA-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14165523#comment-14165523
]
Jay Kreps commented on SAMZA-424:
---------------------------------
Hey guys, let me provide a contrarian perspective. :-)
I agree that many users will want to do some kind of caching. But since a cache
is just a best effort optimization (it is allowed to discard), there is no need
for it to have a changelog (in fact that will likely be a performance
optimization you would not want since serialization and doing replicated remote
writes is expensive). If your task fails, you can just restart with an empty
cache (that is what makes a cache a cache!). Unlike the world of online serving
the fact that you will be a little slower while warming up should be okay.
So why does this require framework support. Why can't the user just instantiate
ehcache or the cache of their choice and use it? This seems like a simpler and
better user experience than our trying to wrap all caches in some way.
In generally I think we should try really hard to avoid features in the
framework except when we absolute must have them.
> Add a Cache state API to the Samza container
> --------------------------------------------
>
> Key: SAMZA-424
> URL: https://issues.apache.org/jira/browse/SAMZA-424
> Project: Samza
> Issue Type: New Feature
> Components: container
> Reporter: Chinmay Soman
> Assignee: Chinmay Soman
> Attachments: SAMZA-424-Cache-API_0.pdf, SAMZA-424-Cache-API_1.md,
> SAMZA-424-Cache-API_2.md, SAMZA-424-Cache-API_2.pdf, samza-424-cache-api_1.pdf
>
>
> There are cases when the user code needs access to a 'cache' which can be
> used to store custom data. This cache is different from the KeyValue store in
> the following ways:
> * At the very least Needs to support LRU (Least Recently Used) and TTL (Time
> To Live) eviction strategies
> * May not support all() and range() operations (since this wreaks havoc with
> the eviction operation)
> * Needs to exist at a per task or a per container level.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)