You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "John Roesler (Jira)" <ji...@apache.org> on 2020/07/21 19:38:00 UTC
[jira] [Created] (KAFKA-10298) Replace Windows with a proper
interface
John Roesler created KAFKA-10298:
------------------------------------
Summary: Replace Windows with a proper interface
Key: KAFKA-10298
URL: https://issues.apache.org/jira/browse/KAFKA-10298
Project: Kafka
Issue Type: Improvement
Components: streams
Reporter: John Roesler
Assignee: John Roesler
See POC: [https://github.com/apache/kafka/pull/9031]
Presently, windowed aggregations in KafkaStreams fall into two categories:
* Windows
** TimeWindows
** UnlimitedWindows
** JoinWindows
* SessionWindows
Unfortunately, Windows is an abstract class instead of an interface, and it forces some fields onto its implementations. This has led to a number of problems over the years, but so far we have been able to live with them.
However, as we consider adding new implementations to this side of the hierarchy, the damage will spread. See KIP-450, for example.
We should take the opportunity now to correct the issue by introducing an interface and deprecating Windows itself. Then, we can implement new features cleanly and maybe remove Windows in the 3.0 release.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)