You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Nikolay Izhikov (JIRA)" <ji...@apache.org> on 2018/11/01 11:55:00 UTC
[jira] [Commented] (KAFKA-7420) Global stores should be guarded as
read-only for regular tasks
[ https://issues.apache.org/jira/browse/KAFKA-7420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16671503#comment-16671503 ]
Nikolay Izhikov commented on KAFKA-7420:
----------------------------------------
[~mjsax]
> Does this help?
Yes, thanks. I'll try to provide PR in the next few days.
> Global stores should be guarded as read-only for regular tasks
> --------------------------------------------------------------
>
> Key: KAFKA-7420
> URL: https://issues.apache.org/jira/browse/KAFKA-7420
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: Matthias J. Sax
> Assignee: Nikolay Izhikov
> Priority: Minor
> Labels: newbie++
>
> Global stores should only be update by the global thread. Any other task, should only read from a global store. However, when getting a reference to a global store, all tasks have full read/write access to the store.
> We should put a guard in place and only return either _(a)_ a read-only store, or _(b)_ wrap the store but throw an exception on write for regular tasks.
> While the read-only store idea might be cleaner from an API point of view, we should consider the second approach for 2 reasons: (1) it's backwards compatible (of course, code might fail at runtime, but this seems to be ok, as it indicates a bug in the user code anyway) (2) with regard to [KIP-358|https://cwiki.apache.org/confluence/display/KAFKA/KIP-358%3A+Migrate+Streams+API+to+Duration+instead+of+long+ms+times], we should have the more runtime efficient methods at this level (currently, global stores are only key-value stores and this argument falls a little short though—however, it might be a good idea to stay future proof; at least, we should discuss it).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)