zicat commented on a change in pull request #15247:
URL: https://github.com/apache/flink/pull/15247#discussion_r598391299
##########
File path:
flink-table/flink-table-runtime-blink/src/main/java/org/apache/flink/table/runtime/operators/join/temporal/TemporalRowTimeJoinOperator.java
##########
@@ -301,6 +302,8 @@ private void cleanupExpiredVersionInState(long
currentWatermark, List<RowData> r
public void cleanupState(long time) {
leftState.clear();
rightState.clear();
+ nextLeftIndex.clear();
+ registeredTimer.clear();
Review comment:
In our company cases, Right table keys have a short life cycle we called
it as session_id, the session_id will be dead after 2 min. If every session_id
in this operator only clean leftState and rightState, the nextLeftIndex state
and registeredTimer state of those session_ids will be stored forever. After
run for a day(20 million session_id), all session_id's nextLeftIndex and
registeredTimer state data will cause the job crash.
I will add the test for this case in TemporalRowTimeJoinOperatorTest
@leonardBang
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]