LQXshane commented on code in PR #14446: URL: https://github.com/apache/kafka/pull/14446#discussion_r1568199214
########## streams/src/main/java/org/apache/kafka/streams/kstream/KStream.java: ########## @@ -685,6 +685,47 @@ <VR> KStream<K, VR> flatMapValues(final ValueMapper<? super V, ? extends Iterabl <VR> KStream<K, VR> flatMapValues(final ValueMapperWithKey<? super K, ? super V, ? extends Iterable<? extends VR>> mapper, final Named named); + /** + * Marking the {@code KStream} as partitioned signals the stream is partitioned as intended, + * and does not require further repartitioning in downstream key changing operations. + * + * <p><em> + * Note that {@link KStream#markAsPartitioned()} SHOULD NOT be used with interactive query(IQ) or {@link KStream#join}. + * For reasons that when repartitions happen, records are physically shuffled by a composite key defined in the stateful operation. + * However, if the repartitions were cancelled, records stayed in their original partition by its original key. IQ or joins + * assumes and uses the composite key instead of the original key. + * </p></em> + * + * + * This method will overwrite a default behavior as described below. + * <p> + * By default, Kafka Streams always automatically repartition the records to prepare for a stateful operation, + * however, it is not always required when input stream is partitioned as intended. As an example, + * if a input stream is partitioned by a String key1, calling the below function will trigger a repartition: + * <pre>{@code + * KStream<String, String> inputStream = builder.stream("topic"); Review Comment: This HTML tag helps the rendering from what I can tell, without them, the code indentation and whitespaces are not preserved. Here is an image of what I see in my IntelliJ with `<pre></pre>` tag: <img width="517" alt="Screenshot 2024-04-16 at 8 48 59 PM" src="https://github.com/apache/kafka/assets/16904776/718a2658-4c54-4a7a-acde-dd0c77140c20"> -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org