[
https://issues.apache.org/jira/browse/KAFKA-13959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jose Armando Garcia Sancio updated KAFKA-13959:
-----------------------------------------------
Description:
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'{}}}.
Another solution is to unfence the broker when the applied offset of the broker
has reached the offset of its own broker registration record.
This change should also set the default for MetadataMaxIdleIntervalMs back to
500.
was:
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.
> 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
> Assignee: dengziming
> Priority: Blocker
> Fix For: 3.3.0
>
>
> 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'{}}}.
> Another solution is to unfence the broker when the applied offset of the
> broker has reached the offset of its own broker registration record.
> This change should also set the default for MetadataMaxIdleIntervalMs back to
> 500.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)