mjsax commented on code in PR #18835:
URL: https://github.com/apache/kafka/pull/18835#discussion_r1953385636
##########
streams/src/test/java/org/apache/kafka/streams/tests/SmokeTestDriver.java:
##########
@@ -521,13 +521,16 @@ private static boolean verify(final PrintStream
resultStream,
final Map<String, Map<String,
LinkedList<ConsumerRecord<String, Number>>>> events,
final Function<String, Number>
keyToExpectation,
final boolean printResults) {
+ resultStream.printf("verifying topic '%s'%n", topic);
final Map<String, LinkedList<ConsumerRecord<String, Number>>>
observedInputEvents = events.get("data");
final Map<String, LinkedList<ConsumerRecord<String, Number>>>
outputEvents = events.getOrDefault(topic, emptyMap());
if (outputEvents.isEmpty()) {
- resultStream.println(topic + " is empty");
+ resultStream.println("missing result data; topic '" + topic + "'
is empty, expected " + inputData.size() + " keys");
return false;
} else {
- resultStream.printf("verifying %s with %d keys%n", topic,
outputEvents.size());
+ if (outputEvents.size() < inputData.size()) {
+ resultStream.println("missing result data; got " +
inputData.size() + " keys, expected: " + outputEvents.size() + " keys");
+ }
if (outputEvents.size() != inputData.size()) {
Review Comment:
I think we need to keep them separate. For the first one, it's always a
"fatal" error, as we did have data loss. However, for this one, with ALOS we
expect duplicates (especially when we runt the test with error injection), and
don't want to treat it as fatal. So the "missing result data" is the new
indicator we look for in the system test python code to find the fatal error,
but we allow to ignore the non-fatal one for ALOS.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]