Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-10298

Replace Windows with a proper interface

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • streams
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              vvcephei John Roesler
              vvcephei John Roesler
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated: