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)

Reply via email to