You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (JIRA)" <ji...@apache.org> on 2018/10/04 15:35:00 UTC
[jira] [Updated] (KAFKA-7477) Improve Streams close timeout
semantics
[ https://issues.apache.org/jira/browse/KAFKA-7477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthias J. Sax updated KAFKA-7477:
-----------------------------------
Description:
See [https://github.com/apache/kafka/pull/5682#discussion_r221473451]
The current timeout semantics are a little "magical":
* 0 means to block forever
* negative numbers cause the close to complete immediately without checking the state
I think this would make more sense:
* reject negative numbers
* make 0 just signal and return immediately (after checking the state once)
* if I want to wait "forever", I can use {{ofYears(1)}} or {{ofMillis(Long.MAX_VALUE)}} or some other intuitively "long enough to be forever" value instead of a magic value.
Part of https://cwiki.apache.org/confluence/display/KAFKA/KIP-358%3A+Migrate+Streams+API+to+Duration+instead+of+long+ms+times
was:
See [https://github.com/apache/kafka/pull/5682#discussion_r221473451]
The current timeout semantics are a little "magical":
* 0 means to block forever
* negative numbers cause the close to complete immediately without checking the state
I think this would make more sense:
* reject negative numbers
* make 0 just signal and return immediately (after checking the state once)
* if I want to wait "forever", I can use {{ofYears(1)}} or {{ofMillis(Long.MAX_VALUE)}} or some other intuitively "long enough to be forever" value instead of a magic value.
> Improve Streams close timeout semantics
> ---------------------------------------
>
> Key: KAFKA-7477
> URL: https://issues.apache.org/jira/browse/KAFKA-7477
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: John Roesler
> Assignee: Nikolay Izhikov
> Priority: Minor
> Labels: kip, newbie
>
> See [https://github.com/apache/kafka/pull/5682#discussion_r221473451]
> The current timeout semantics are a little "magical":
> * 0 means to block forever
> * negative numbers cause the close to complete immediately without checking the state
> I think this would make more sense:
> * reject negative numbers
> * make 0 just signal and return immediately (after checking the state once)
> * if I want to wait "forever", I can use {{ofYears(1)}} or {{ofMillis(Long.MAX_VALUE)}} or some other intuitively "long enough to be forever" value instead of a magic value.
>
> Part of https://cwiki.apache.org/confluence/display/KAFKA/KIP-358%3A+Migrate+Streams+API+to+Duration+instead+of+long+ms+times
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)