congye created KAFKA-19536:
------------------------------

             Summary: KStream-KStream leftJoin didn't consider gracePeriod for 
out-of-order records
                 Key: KAFKA-19536
                 URL: https://issues.apache.org/jira/browse/KAFKA-19536
             Project: Kafka
          Issue Type: Bug
          Components: streams
    Affects Versions: 4.0.0, 3.9.2
            Reporter: congye


Actual: in KStreamKStreamJoin.java, there's code snippet:

 
{code:java}
// This condition below allows us to process the out-of-order records without 
the need
// to hold it in the temporary outer store
if (outerJoinStore.isEmpty() || timeTo < sharedTimeTracker.streamTime) {
    context().forward(record.withValue(joiner.apply(record.key(), 
record.value(), null)));
} {code}
So for out-of-order records, when the window closed, it may forward the 
leftJoin result without waiting for extra gracePeriod.

 

 

Expect:
{code:java}
if (outerJoinStore.isEmpty() || timeTo + joinGraceMs < 
sharedTimeTracker.streamTime) { 
context().forward(record.withValue(joiner.apply(record.key(), record.value(), 
null))); }  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to