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:23:32 UTC
[kafka] branch 2.3 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 2.3
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/2.3 by this push:
new d5d68f6 [MINOR] Improve docs for Global Store operations (#6803)
d5d68f6 is described below
commit d5d68f6934482597b4eb0ab250eb625efe6b4720
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>