@@ -36,3 +36,57 @@ stats_output=$(_curl "http://localhost:${PORT_ADMIN}/stats?filter=kafka")
3636echo " $stats_output " | grep " produce_request" | grep -v " : 0"
3737echo " $stats_output " | grep " fetch_request" | grep -v " : 0"
3838echo " $stats_output " | grep " metadata_request" | grep -v " : 0"
39+
40+ run_log " Test high-volume producing with batched records"
41+ # Send 20 messages rapidly to trigger producer batching
42+ kafka_client /bin/bash -c " \
43+ for i in {1..20}; do \
44+ echo \" apricot message \$ i\" ; \
45+ done | kafka-console-producer --request-required-acks 1 --producer-property enable.idempotence=false --broker-list proxy:10000 --topic apricots"
46+
47+ run_log " Verify all 20 messages arrived at cluster1"
48+ # Consume all messages and count them
49+ message_count=$( kafka_client kafka-console-consumer --bootstrap-server kafka-cluster1:9092 --topic apricots --from-beginning --max-messages 20 2> /dev/null | wc -l)
50+ message_count=${message_count:- 0}
51+ run_log " Received $message_count messages from apricots topic"
52+
53+ if [[ " $message_count " -eq 20 ]]; then
54+ run_log " SUCCESS: All 20 messages arrived at cluster1"
55+ else
56+ echo " ERROR: Expected 20 messages but received $message_count " >&2
57+ exit 1
58+ fi
59+
60+ run_log " Verify produce metrics reflect the batched requests"
61+ # Get the produce_request count - it should be greater than 0 and likely less than 20 (due to batching)
62+ stats_output=$( _curl " http://localhost:${PORT_ADMIN} /stats?filter=kafka.kafka_mesh.request.produce_request" )
63+ produce_count=$( echo " $stats_output " | grep " produce_request:" | cut -f2 -d' :' | tr -d ' ' )
64+ produce_count=${produce_count:- 0}
65+ run_log " Total produce_request count: $produce_count "
66+
67+ if [[ " $produce_count " -gt 0 ]]; then
68+ run_log " SUCCESS: Produce requests tracked correctly (count: $produce_count )"
69+ else
70+ echo " ERROR: No produce requests tracked" >&2
71+ exit 1
72+ fi
73+
74+ run_log " Test high-volume producing to second cluster with batched records"
75+ # Send 20 messages rapidly to blueberries topic (routes to cluster2)
76+ kafka_client /bin/bash -c " \
77+ for i in {1..20}; do \
78+ echo \" blueberry message \$ i\" ; \
79+ done | kafka-console-producer --request-required-acks 1 --producer-property enable.idempotence=false --broker-list proxy:10000 --topic blueberries"
80+
81+ run_log " Verify all 20 messages arrived at cluster2"
82+ # Consume all messages and count them
83+ message_count=$( kafka_client kafka-console-consumer --bootstrap-server kafka-cluster2:9092 --topic blueberries --from-beginning --max-messages 20 2> /dev/null | wc -l)
84+ message_count=${message_count:- 0}
85+ run_log " Received $message_count messages from blueberries topic"
86+
87+ if [[ " $message_count " -eq 20 ]]; then
88+ run_log " SUCCESS: All 20 messages arrived at cluster2"
89+ else
90+ echo " ERROR: Expected 20 messages but received $message_count " >&2
91+ exit 1
92+ fi
0 commit comments