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)