Fix bug in timestamp bound propagation for CLONE

This commit is contained in:
TrungDinhT 2023-04-05 12:55:22 +02:00 committed by GitHub
parent 425a3ee3f6
commit 3435ef27ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -175,6 +175,11 @@ class BeginLoopCalculator : public CalculatorBase {
cc->Outputs() cc->Outputs()
.Get("CLONE", i) .Get("CLONE", i)
.AddPacket(std::move(input_packet).At(output_timestamp)); .AddPacket(std::move(input_packet).At(output_timestamp));
} else {
// In case the clone input stream is empty, timestamp bound needs to be updated so that downstream calculators don't have to wait
// Increment output_timestamp by 1 to signal that the output is empty for current timestamp. This allows downstream calculators
// to start processing on their current inputs.
cc->Outputs().Get("CLONE", i).SetNextTimestampBound(output_timestamp + 1);
} }
} }
} }