Frederic Arno created KAFKA-6749:
------------------------------------
Summary: TopologyTestDriver fails when topoloy under test uses
EXACTLY_ONCE
Key: KAFKA-6749
URL: https://issues.apache.org/jira/browse/KAFKA-6749
Project: Kafka
Issue Type: Bug
Components: streams
Affects Versions: 1.1.0
Reporter: Frederic Arno
Stream processing topologies which are configured to use `EXACTLY_ONCE`
processing guarantee cannot be tested with the `TopologyTestDriver`. Tests
usually crash with `java.lang.IllegalStateException: MockProducer hasn't been
initialized for transactions` within the second call to
`TopologyTestDriver.pipeInput()`, the first call works fine.
Changing the processing guarantee to `AT_LEAST_ONCE` makes tests pass.
This is a problem because it is expected that proper processor topologies can
be successfully tested using `TopologyTestDriver`, however `TopologyTestDriver`
can't handle `EXACTLY_ONCE` and crashes during tests. To a developer, this
usually means that there is something wrong with their processor topologies.
Kafka developpers can reproduce this by adding:
{code:java}
put(StreamsConfig.PROCESSING_GUARANTEE_CONFIG,
StreamsConfig.EXACTLY_ONCE);{code}
to line 88 of TopologyTestDriverTest:
streams/test-utils/src/test/java/org/apache/kafka/streams/TopologyTestDriverTest.java
Originally reported here:
[http://mail-archives.apache.org/mod_mbox/kafka-users/201804.mbox/%3C54ab29ad-44e1-35bd-9c16-c1d8d68a88db%40gmail.com%3E]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)