ableegoldman commented on code in PR #18194:
URL: https://github.com/apache/kafka/pull/18194#discussion_r1886132059


##########
streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableImpl.java:
##########
@@ -1278,12 +1278,11 @@ private <VR, KO, VO> KTable<K, VR> 
doJoinOnForeignKey(final KTable<KO, VO> forei
 
         final String foreignTableJoinName = renamed
             .suffixWithOrElseGet("-foreign-join-subscription", builder, 
SUBSCRIPTION_PROCESSOR);
-        final StatefulProcessorNode<KO, Change<VO>> foreignTableJoinNode = new 
ForeignTableJoinNode<>(

Review Comment:
   good question -- basically yes and no. Almost everything has/will be 
converted from StatefulProcesorNode to ProcessorGraphNode, but there are a few 
exceptions where we still need the StatefulProcessorNode to connect a processor 
and state store. For example any processors that access upstream state via a 
value getter, or a custom ProcessorSupplier passed into the 
`.process`/`.processValues` operator that doesn't implement `#stores` and 
manually adds stores by calling `StreamsBuilder#addStateStore` instead.
   
   I actually have the PR for this ready but it was done on top of this so I 
was waiting for this one to be merged before calling for review. But it's ready 
now if you want to take a look (though note that it still can't be merged until 
Almog's TableSuppressNode PR is merged). See 
https://github.com/apache/kafka/pull/18195



-- 
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]

Reply via email to