dajac commented on code in PR #13961: URL: https://github.com/apache/kafka/pull/13961#discussion_r1254819460
########## group-coordinator/src/main/java/org/apache/kafka/coordinator/group/runtime/CoordinatorRuntime.java: ########## @@ -190,6 +216,118 @@ boolean canTransitionFrom(CoordinatorState state) { abstract boolean canTransitionFrom(CoordinatorState state); } + /** + * Implements the CoordinatorTimer interface. This class keeps track of all the + * schedule timers for a coordinator/partition. + * + * When a timer is cancelled or overridden, the previous timer is guaranteed to + * not be executed even if it already expired and got push to the event processor. + * + * When a timer fails with an unexpected exception, the timer is reschedule with + * a backoff. + */ + class InternalCoordinatorTimer implements CoordinatorTimer<U> { + /** + * The logger. + */ + final Logger log; + + /** + * The topic partition. + */ + final TopicPartition tp; + + /** + * The scheduled timers keyed by their key. + */ + final Map<String, TimerTask> tasks = new HashMap<>(); Review Comment: Updated the javadoc. Let me know if it makes things clearer. -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org