Bird
0
0

You want to process messages from multiple Kafka topics continuously and commit offsets manually after processing. Which code snippet correctly implements this using a consumer poll loop?

hard📝 Application Q15 of 15
Kafka - Consumers
You want to process messages from multiple Kafka topics continuously and commit offsets manually after processing. Which code snippet correctly implements this using a consumer poll loop?
Aconsumer.poll(Duration.ofMillis(200)); consumer.commitSync();
Bwhile(true) { var records = consumer.poll(200); for(var record : records) { process(record); } consumer.commitAsync(); }
Cwhile(true) { var records = consumer.poll(Duration.ofMillis(200)); for(var record : records) { process(record); } consumer.commitSync(); }
Dfor(int i=0; i<10; i++) { var records = consumer.poll(Duration.ofMillis(200)); consumer.commitSync(); }
Step-by-Step Solution
Solution:
  1. Step 1: Check poll argument and loop structure

    while(true) { var records = consumer.poll(Duration.ofMillis(200)); for(var record : records) { process(record); } consumer.commitSync(); } uses poll(Duration.ofMillis(200)) inside a continuous while(true) loop, which is correct.
  2. Step 2: Verify message processing and manual commit

    It processes each record and calls commitSync() after processing, ensuring offsets are committed manually.
  3. Final Answer:

    while(true) { var records = consumer.poll(Duration.ofMillis(200)); for(var record : records) { process(record); } consumer.commitSync(); } -> Option C
  4. Quick Check:

    Continuous poll, process, then manual commit [OK]
Quick Trick: Use while(true), poll with Duration, then commitSync() [OK]
Common Mistakes:
  • Passing int instead of Duration to poll()
  • Using for loop instead of continuous loop
  • Not processing records before commit
  • Missing loop causing single poll only

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Kafka Quizzes