KAFKA-13197: fix GlobalKTable join/left-join semantics documentation. (#14187)

Reviewers: Matthias J. Sax <matthias@confluent.io>
This commit is contained in:
Florin Akermann 2023-08-11 20:45:18 +02:00 committed by GitHub
parent 4268e502ec
commit 1e747a24a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 32 deletions

View File

@ -2805,10 +2805,8 @@ public interface KStream<K, V> {
* For each {@code KStream} record that finds a corresponding record in {@link GlobalKTable} the provided * For each {@code KStream} record that finds a corresponding record in {@link GlobalKTable} the provided
* {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record. * {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as the key of this {@code KStream}. * The key of the result record is the same as the key of this {@code KStream}.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, no output record will be added to the
* resulting {@code KStream}.
* *
* @param globalTable the {@link GlobalKTable} to be joined with this stream * @param globalTable the {@link GlobalKTable} to be joined with this stream
* @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream * @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream
@ -2839,10 +2837,8 @@ public interface KStream<K, V> {
* {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record. * {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as the key of this {@code KStream}. * The key of the result record is the same as the key of this {@code KStream}.
* Note that the key is read-only and should not be modified, as this can lead to undefined behaviour. * Note that the key is read-only and should not be modified, as this can lead to undefined behaviour.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, no output record will be added to the
* resulting {@code KStream}.
* *
* @param globalTable the {@link GlobalKTable} to be joined with this stream * @param globalTable the {@link GlobalKTable} to be joined with this stream
* @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream * @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream
@ -2872,10 +2868,8 @@ public interface KStream<K, V> {
* For each {@code KStream} record that finds a corresponding record in {@link GlobalKTable} the provided * For each {@code KStream} record that finds a corresponding record in {@link GlobalKTable} the provided
* {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record. * {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as the key of this {@code KStream}. * The key of the result record is the same as the key of this {@code KStream}.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, no output record will be added to the
* resulting {@code KStream}.
* *
* @param globalTable the {@link GlobalKTable} to be joined with this stream * @param globalTable the {@link GlobalKTable} to be joined with this stream
* @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream * @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream
@ -2908,10 +2902,8 @@ public interface KStream<K, V> {
* {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record. * {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as the key of this {@code KStream}. * The key of the result record is the same as the key of this {@code KStream}.
* Note that the key is read-only and should not be modified, as this can lead to undefined behaviour. * Note that the key is read-only and should not be modified, as this can lead to undefined behaviour.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, no output record will be added to the
* resulting {@code KStream}.
* *
* @param globalTable the {@link GlobalKTable} to be joined with this stream * @param globalTable the {@link GlobalKTable} to be joined with this stream
* @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream * @param keySelector instance of {@link KeyValueMapper} used to map from the (key, value) of this stream
@ -2945,10 +2937,8 @@ public interface KStream<K, V> {
* For each {@code KStream} record whether or not it finds a corresponding record in {@link GlobalKTable} the * For each {@code KStream} record whether or not it finds a corresponding record in {@link GlobalKTable} the
* provided {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record. * provided {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as this {@code KStream}. * The key of the result record is the same as this {@code KStream}.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, a {@code null} value will be
* provided to {@link ValueJoiner}.
* If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to * If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to
* {@link ValueJoiner}. * {@link ValueJoiner}.
* *
@ -2983,10 +2973,8 @@ public interface KStream<K, V> {
* provided {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record. * provided {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as this {@code KStream}. * The key of the result record is the same as this {@code KStream}.
* Note that the key is read-only and should not be modified, as this can lead to undefined behaviour. * Note that the key is read-only and should not be modified, as this can lead to undefined behaviour.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, a {@code null} value will be
* provided to {@link ValueJoinerWithKey}.
* If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to * If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to
* {@link ValueJoiner}. * {@link ValueJoiner}.
* *
@ -3020,10 +3008,8 @@ public interface KStream<K, V> {
* For each {@code KStream} record whether or not it finds a corresponding record in {@link GlobalKTable} the * For each {@code KStream} record whether or not it finds a corresponding record in {@link GlobalKTable} the
* provided {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record. * provided {@link ValueJoiner} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as this {@code KStream}. * The key of the result record is the same as this {@code KStream}.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, a {@code null} value will be
* provided to {@link ValueJoiner}.
* If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to * If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to
* {@link ValueJoiner}. * {@link ValueJoiner}.
* *
@ -3059,10 +3045,8 @@ public interface KStream<K, V> {
* For each {@code KStream} record whether or not it finds a corresponding record in {@link GlobalKTable} the * For each {@code KStream} record whether or not it finds a corresponding record in {@link GlobalKTable} the
* provided {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record. * provided {@link ValueJoinerWithKey} will be called to compute a value (with arbitrary type) for the result record.
* The key of the result record is the same as this {@code KStream}. * The key of the result record is the same as this {@code KStream}.
* If a {@code KStream} input record key or value is {@code null} the record will not be included in the join * If a {@code KStream} input value is {@code null} or if {@code keyValueMapper} returns {@code null} the record
* operation and thus no output record will be added to the resulting {@code KStream}. * will not be included in the join operation and thus no output record will be added to the resulting {@code KStream}.
* If {@code keyValueMapper} returns {@code null} implying no match exists, a {@code null} value will be
* provided to {@link ValueJoinerWithKey}.
* If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to * If no {@link GlobalKTable} record was found during lookup, a {@code null} value will be provided to
* {@link ValueJoinerWithKey}. * {@link ValueJoinerWithKey}.
* *