Bird
Raised Fist0
Kafkadevops~5 mins

Rebalancing behavior in Kafka - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is rebalancing in Kafka consumer groups?
Rebalancing is the process where Kafka redistributes partitions among consumers in a group when consumers join, leave, or fail. It ensures all partitions are assigned to active consumers.
Click to reveal answer
beginner
When does Kafka trigger a rebalance?
Kafka triggers a rebalance when a consumer joins or leaves the group, or when a consumer crashes. This helps keep partition assignments balanced.
Click to reveal answer
intermediate
What happens to message processing during a Kafka rebalance?
During rebalance, consumers stop fetching messages temporarily. This pause ensures partitions are reassigned safely but can cause a short delay in processing.
Click to reveal answer
intermediate
How can you minimize rebalance impact in Kafka?
You can minimize rebalance impact by tuning session timeouts, using static group membership, and handling partition assignments efficiently in your consumer code.
Click to reveal answer
advanced
What is static membership in Kafka rebalancing?
Static membership allows consumers to keep their identity across restarts, reducing unnecessary rebalances and improving stability during consumer restarts.
Click to reveal answer
What triggers a Kafka consumer group rebalance?
AA consumer joins or leaves the group
BA message is produced to a topic
CA consumer reads a message
DA topic is deleted
During rebalance, what happens to message consumption?
AConsumers continue reading without interruption
BConsumers pause fetching messages temporarily
CMessages are lost
DNew partitions are created
Which Kafka feature helps reduce unnecessary rebalances?
AStatic membership
BDynamic partitioning
CAuto commit
DMessage batching
What is a common cause of frequent rebalances?
ATopic compaction
BLong consumer processing time
CHigh message production rate
DConsumers frequently joining and leaving
How can you tune Kafka to reduce rebalance delays?
ADecrease session timeout
BDisable consumer groups
CIncrease session timeout
DIncrease message size
Explain what happens during Kafka consumer group rebalancing and why it is necessary.
Think about how Kafka keeps consumers working evenly.
You got /4 concepts.
    Describe ways to reduce the impact of rebalancing on Kafka consumers.
    Focus on configuration and consumer behavior.
    You got /4 concepts.

      Practice

      (1/5)
      1. What triggers a rebalance in a Kafka consumer group?
      easy
      A. When a consumer commits an offset
      B. When a message is consumed
      C. When a topic is deleted
      D. When a consumer joins or leaves the group

      Solution

      1. Step 1: Understand rebalance triggers

        Rebalancing happens when the group membership changes or partitions change.
      2. Step 2: Identify correct trigger

        Joining or leaving a consumer causes the group to rebalance to share partitions evenly.
      3. Final Answer:

        When a consumer joins or leaves the group -> Option D
      4. Quick Check:

        Consumer join/leave triggers rebalance [OK]
      Hint: Rebalance happens on group membership changes [OK]
      Common Mistakes:
      • Thinking rebalance happens on every message
      • Confusing topic deletion with rebalance
      • Assuming offset commit triggers rebalance
      2. Which of the following is the correct way to listen for rebalance events in Kafka consumer code?
      easy
      A. consumer.subscribe(topics, new ConsumerRebalanceListener() {...})
      B. consumer.on('rebalance', callback)
      C. consumer.addRebalanceListener(callback)
      D. consumer.listenRebalance(callback)

      Solution

      1. Step 1: Recall Kafka consumer API

        Kafka's Java consumer uses subscribe with a ConsumerRebalanceListener to handle rebalance events.
      2. Step 2: Match correct syntax

        Only consumer.subscribe(topics, new ConsumerRebalanceListener() {...}) shows the correct method signature for rebalance listener.
      3. Final Answer:

        consumer.subscribe(topics, new ConsumerRebalanceListener() {...}) -> Option A
      4. Quick Check:

        Use subscribe with ConsumerRebalanceListener [OK]
      Hint: Use subscribe with ConsumerRebalanceListener for rebalance [OK]
      Common Mistakes:
      • Using non-existent methods like on or addRebalanceListener
      • Confusing event listeners with other APIs
      • Missing the listener parameter in subscribe
      3. Given a consumer group with 3 consumers and 6 partitions, what happens after one consumer leaves the group?
      medium
      A. The consumer group stops consuming messages
      B. The remaining 2 consumers rebalance and each consumes 3 partitions
      C. The partitions are left unassigned until the group is restarted
      D. The remaining consumers continue consuming their original partitions

      Solution

      1. Step 1: Understand partition assignment

        Partitions are divided evenly among active consumers in the group.
      2. Step 2: Calculate new assignment after consumer leaves

        With 6 partitions and 2 consumers left, each gets 3 partitions after rebalance.
      3. Final Answer:

        The remaining 2 consumers rebalance and each consumes 3 partitions -> Option B
      4. Quick Check:

        Partitions evenly split after consumer leaves [OK]
      Hint: Partitions redistribute evenly after consumer leaves [OK]
      Common Mistakes:
      • Assuming partitions stay with old consumers
      • Thinking partitions become unassigned
      • Believing the group stops consuming
      4. You wrote a rebalance listener but your consumer crashes with a NullPointerException during rebalance. What is the likely cause?
      medium
      A. Not subscribing to the topic before starting the consumer
      B. Using the wrong Kafka version
      C. Not handling partition assignment and revocation properly in the listener
      D. Committing offsets manually instead of auto-commit

      Solution

      1. Step 1: Analyze rebalance listener role

        The listener must handle partition revocation and assignment to avoid null references.
      2. Step 2: Identify cause of NullPointerException

        Failing to check or update state during rebalance causes null pointer errors.
      3. Final Answer:

        Not handling partition assignment and revocation properly in the listener -> Option C
      4. Quick Check:

        Proper rebalance handling prevents NullPointerException [OK]
      Hint: Handle partition changes carefully in rebalance listener [OK]
      Common Mistakes:
      • Ignoring partition revocation steps
      • Assuming auto-commit fixes rebalance issues
      • Blaming Kafka version without checking code
      5. You want to ensure no duplicate message processing during rebalance in a Kafka consumer group. Which approach is best?
      hard
      A. Implement a ConsumerRebalanceListener to commit offsets before partition revocation
      B. Disable rebalancing by fixing the number of consumers
      C. Use auto-commit offsets with a short interval
      D. Restart consumers manually after each rebalance

      Solution

      1. Step 1: Understand duplicate processing risk

        During rebalance, uncommitted offsets can cause reprocessing of messages.
      2. Step 2: Use rebalance listener to commit offsets

        Committing offsets in onPartitionsRevoked ensures processed messages are saved before rebalance.
      3. Step 3: Evaluate other options

        Disabling rebalance or relying on auto-commit does not guarantee no duplicates; manual restarts are inefficient.
      4. Final Answer:

        Implement a ConsumerRebalanceListener to commit offsets before partition revocation -> Option A
      5. Quick Check:

        Commit offsets on revoke to avoid duplicates [OK]
      Hint: Commit offsets in rebalance listener before revocation [OK]
      Common Mistakes:
      • Disabling rebalance which is not practical
      • Relying only on auto-commit offsets
      • Restarting consumers manually wastes resources
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard