[ 
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)

Reply via email to