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

support both Suppressed untilTimeLimit and maxBytes without using emitEarlyWhenFull()

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      My use case is to use  ** untilTimeLimit with maxBytes, but when the buffer is full, the application is breaking, but with using emitEarlyWhenFull application is not breaking but{{}} it sends out the same key record multiple times in a particular window when the buffer exceeds max bytes 

      for eg:-
      Suppressed.untilTimeLimit(Duration.ofMinutes(15),Suppressed.BufferConfig.maxBytes(10000).emitEarlyWhenFull())
       
      messages flow : (A,1) (A,2) (A,3) -> aggregation result : (A,6) . suppose here, the buffer is full, (A,6) will be sent downstream. Let's suppose (A,4) comes now in the same tumbling window.
       
      current response:- the aggregation will continue and eventually (A,10) will be emitted
       
      but our application expected (A,4),  so the request for the feature is that window should be happening with window time(untilTimeLimit) or Buffer(maxByte) should full, in either of these two conditions met, a new window should be created and data should be emitted 
       
       

      Attachments

        Activity

          People

            Unassigned Unassigned
            anilsahu Anil
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: