[ 
https://issues.apache.org/jira/browse/KAFKA-13959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17551663#comment-17551663
 ] 

Jose Armando Garcia Sancio commented on KAFKA-13959:
----------------------------------------------------

[~dengziming], If you haven't, maybe looking at the KRaft side of the 
implementation may help. Specially at the LEOs reported by KRaft for both the 
controller and the broker(s), any pending FETCH request(s) and how often 
brokers sends FETCH requests.

> Controller should unfence Broker with busy metadata log
> -------------------------------------------------------
>
>                 Key: KAFKA-13959
>                 URL: https://issues.apache.org/jira/browse/KAFKA-13959
>             Project: Kafka
>          Issue Type: Bug
>          Components: kraft
>    Affects Versions: 3.3.0
>            Reporter: Jose Armando Garcia Sancio
>            Priority: Blocker
>
> https://issues.apache.org/jira/browse/KAFKA-13955 showed that it is possible 
> for the controller to not unfence a broker if the committed offset keeps 
> increasing.
>  
> One solution to this problem is to require the broker to only catch up to the 
> last committed offset when they last sent the heartbeat. For example:
>  # Broker sends a heartbeat with current offset of {{{}Y{}}}. The last commit 
> offset is {{{}X{}}}. The controller remember this last commit offset, call it 
> {{X'}}
>  # Broker sends another heartbeat with current offset of {{{}Z{}}}. Unfence 
> the broker if {{Z >= X}} or {{{}Z >= X'{}}}.
>  
> This change should also set the default for MetadataMaxIdleIntervalMs back to 
> 500.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to