Anil created KAFKA-13870:
----------------------------

             Summary: support both Suppressed untilTimeLimit and maxBytes 
without using emitEarlyWhenFull()
                 Key: KAFKA-13870
                 URL: https://issues.apache.org/jira/browse/KAFKA-13870
             Project: Kafka
          Issue Type: New Feature
            Reporter: Anil


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 
 
 



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to