gustavodemorais commented on PR #27508: URL: https://github.com/apache/flink/pull/27508#issuecomment-3923643414
Hey @ldadima, sorry for the delay. We had to align internally on the best strategy going forward. In general, we should avoid manipulating logical types during runtime. 1. Instead of always creating a new serializer, the simplest and most consistent approach would be to normalize all state keys to BinaryRowData using pre-initialized RowDataSerializer instances in [MultiJoinStateViews.java](vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/code/electron-sandbox/workbench/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/join/stream/state/MultiJoinStateViews.java). This is already the pattern used by joinKeysEqual() in InputSideHasUniqueKey and InputSideHasNoUniqueKey. 2. Another way would be to initialize the serializer you created here in the constructor but I think strategy 1, doing it directly where we interact with state, a more adequate fix. Let me know what you think! -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
