vvcephei commented on a change in pull request #10731: URL: https://github.com/apache/kafka/pull/10731#discussion_r644196594
########## File path: streams/src/main/java/org/apache/kafka/streams/kstream/ValueTransformerWithKey.java ########## @@ -75,14 +75,20 @@ void init(final ProcessorContext context); /** - * Transform the given [key and ]value to a new value. + * Transform the given [key and] value to a new value. * Additionally, any {@link StateStore} that is {@link KStream#transformValues(ValueTransformerWithKeySupplier, String...) * attached} to this operator can be accessed and modified arbitrarily (cf. * {@link ProcessorContext#getStateStore(String)}). * <p> - * Note, that using {@link ProcessorContext#forward(Object, Object)} or + * Note that using {@link ProcessorContext#forward(Object, Object)} or * {@link ProcessorContext#forward(Object, Object, To)} is not allowed within {@code transform} and * will result in an {@link StreamsException exception}. + * <p> + * Note that if a {@code ValueTransformerWithKey} is used in a {@link KTable#transformValues(ValueTransformerWithKeySupplier, String...)} + * (or any other overload of {@code KTable#transformValues(...)}) operation, + * then the provided {@link ProcessorContext} from {@link #init(ProcessorContext)} + * does not guarantee that all context information will be available when {@code transform()} + * is executed. Review comment: All I was trying to do was characterize why the context information might be missing. If there are _no_ out-of-band operations, then there should never be missing context. -- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org