Github user JPercivall commented on a diff in the pull request:
https://github.com/apache/nifi/pull/563#discussion_r72330212
--- Diff:
nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-pubsub-processors/src/main/java/org/apache/nifi/processors/kafka/pubsub/ConsumeKafka.java
---
@@ -54,7 +72,12 @@
@InputRequirement(Requirement.INPUT_FORBIDDEN)
@CapabilityDescription("Consumes messages from Apache Kafka")
@Tags({ "Kafka", "Get", "Ingest", "Ingress", "Topic", "PubSub", "Consume"
})
-public class ConsumeKafka extends AbstractKafkaProcessor<Consumer<byte[],
byte[]>> {
+@Stateful(scopes = {Scope.EXTERNAL}, description = "After consuming
messages, ConsumeKafka commits its offset information to Kafka" +
+ " so that the state of a consumer group can be retained across
events such as consumer reconnect." +
+ " Offsets can be cleared when there is no consumer subscribing
with the same consumer group id." +
+ " It may take more than 30 seconds for a consumer group to become
able to be cleared after it is stopped from NiFi." +
+ " Once offsets are cleared, ConsumeKafka will resume consuming
messages based on Offset Reset configuration.")
+public class ConsumeKafka extends AbstractKafkaProcessor<Consumer<byte[],
byte[]>> implements ExternalStateManager {
--- End diff --
Since "ExternalStateManager" is something that the developer will need to
implement if they will use it, this should be documented in the Developer guide
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---