[
https://issues.apache.org/jira/browse/KAFKA-16362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17830825#comment-17830825
]
Ramin Gharib commented on KAFKA-16362:
--------------------------------------
[~gharris1727] I have been thinking on this one and made some changes, based on
your PR, that I would like you to see. Could you please assign me to this task?
I will post a (draft/proposal) PR soon!
> Fix type-unsafety in KStreamKStreamJoin caused by isLeftSide
> ------------------------------------------------------------
>
> Key: KAFKA-16362
> URL: https://issues.apache.org/jira/browse/KAFKA-16362
> Project: Kafka
> Issue Type: Task
> Components: streams
> Affects Versions: 3.7.0
> Reporter: Greg Harris
> Priority: Trivial
> Labels: newbie++
>
> The implementation of KStreamKStreamJoin has several places that the compiler
> emits warnings for, that are later suppressed or ignored:
> * LeftOrRightValue.make returns a raw LeftOrRightValue without generic
> arguments, because the generic type arguments depend on the boolean input.
> * Calling LeftOrRightValue includes an unchecked cast before inserting the
> record into the outerJoinStore
> * emitNonJoinedOuterRecords swaps the left and right values, and performs an
> unchecked cast
> These seem to be closely related to the isLeftSide variable, which makes the
> class behave differently whether it is present on the left or right side of a
> join.
> We should figure out if these warnings can be eliminated by a refactor,
> perhaps into KStreamKstreamJoin.Left and KStreamKStreamJoin.Right, or with
> some generic arguments.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)