AndrewJSchofield commented on code in PR #22270:
URL: https://github.com/apache/kafka/pull/22270#discussion_r3312040954
##########
clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRebalanceListener.java:
##########
@@ -154,18 +171,45 @@ public interface ConsumerRebalanceListener {
* necessary to catch these exceptions and re-attempt to wakeup or
interrupt the consumer thread.
*
* @param partitions The list of partitions that were assigned to the
consumer and now need to be revoked. This will
- * include the full assignment under the Classic/Eager
protocol, given that it revokes all partitions.
+ * include the full assignment under the Classic/Eager
protocol, given that it revokes all partitions.
* It will only include the subset to revoke under the
Classic/Cooperative and Consumer protocols.
* @throws org.apache.kafka.common.errors.WakeupException If raised from a
nested call to {@link KafkaConsumer}
* @throws org.apache.kafka.common.errors.InterruptException If raised
from a nested call to {@link KafkaConsumer}
*/
- void onPartitionsRevoked(Collection<TopicPartition> partitions);
+ default void onPartitionsRevoked(Collection<TopicPartition> partitions) {}
Review Comment:
@chia7712 By adding a default implementation of this method, it is no longer
abstract. I don't think there's any concrete effect for Java implementors of
this interface, but there is in Scala. Previously, it was optional but
recommended to use the `override` modified. With a default implementation, it
is now mandatory in Scala for implementors to specify `override` as evidenced
by the two tests in `core` tweaked by this PR. What's your opinion on this
change? My view is that it's acceptable because Java applications are not
affected apart from the ability to implement only one of
`onPartitionsAssigned/Revoked` rather than both. wdyt?
--
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]