You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by bb...@apache.org on 2019/05/30 11:12:49 UTC
[kafka] branch trunk updated: [MINOR] Improve docs for Global Store
operations (#6803)
This is an automated email from the ASF dual-hosted git repository.
bbejeck pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/trunk by this push:
new 91ccbca [MINOR] Improve docs for Global Store operations (#6803)
91ccbca is described below
commit 91ccbca4c25dba1671dfdd29053521ce93996f3e
Author: A. Sophie Blee-Goldman <ab...@gmail.com>
AuthorDate: Thu May 30 04:12:27 2019 -0700
[MINOR] Improve docs for Global Store operations (#6803)
A lot of confusion seems to have arisen from the StreamBuilder#addGlobalStore(...ProcessorSupplier) method. Users have assumed they can safely use this to transform records before populating their global state store; unfortunately this results in corrupted data as on restore the records are read directly from the source topic changelog, bypassing their custom processor.
We should probably provide a means to do this at some point but for the time being we should clarify the proper use of #addGlobalStore as it currently functions
Reviewers: Matthias J. Sax <mj...@apache.org>, Bruno Cadonna <br...@confluent.io>
---
streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java b/streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java
index abb5aa1..609bce5 100644
--- a/streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java
+++ b/streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java
@@ -507,7 +507,9 @@ public class StreamsBuilder {
* of the input topic.
* <p>
* The provided {@link ProcessorSupplier} will be used to create an {@link ProcessorNode} that will receive all
- * records forwarded from the {@link SourceNode}.
+ * records forwarded from the {@link SourceNode}. NOTE: you should not use the {@code Processor} to insert transformed records into
+ * the global state store. This store uses the source topic as changelog and during restore will insert records directly
+ * from the source.
* This {@link ProcessorNode} should be used to keep the {@link StateStore} up-to-date.
* The default {@link TimestampExtractor} as specified in the {@link StreamsConfig config} is used.
* <p>