Append messages to leader replicas of the partition, and wait for them to be replicated to other replicas; the callback function will be triggered either when timeout or the required acks are satisfied
Fetch messages from the leader replica, and wait until enough data can be fetched and return; the callback function will be triggered either when timeout or required fetch info is satisfied
This function periodically runs to see if ISR needs to be propagated.
This function periodically runs to see if ISR needs to be propagated. It propagates ISR when: 1. There is ISR change not propagated yet. 2. There is no ISR Change in the last five seconds, or it has been more than 60 seconds since the last ISR propagation. This allows an occasional ISR change to be propagated within a few seconds, and avoids overwhelming controller and other brokers when large amount of ISR change occurs.
Read from a single topic/partition at the given offset upto maxSize bytes
Try to complete some delayed fetch requests with the request key; this can be triggered when:
Try to complete some delayed fetch requests with the request key; this can be triggered when:
1. The partition HW has changed (for regular fetch) 2. A new message set is appended to the local log (for follower fetch)
Try to complete some delayed produce requests with the request key; this can be triggered when:
Try to complete some delayed produce requests with the request key; this can be triggered when:
1. The partition HW has changed (for acks = -1) 2. A follower replica's fetch operation is received (for acks > 1)