[
https://issues.apache.org/jira/browse/KAFKA-16073?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
hzh0425 updated KAFKA-16073:
----------------------------
Summary: Tiered Storage Bug: Kafka Tiered Storage Bug: Consumer Fetch Error
Due to Delayed localLogStartOffset Update During Segment Deletion (was: Tiered
Storage Bug: Incorrect Handling of Offset Ranges During Segment Deletion)
> Tiered Storage Bug: Kafka Tiered Storage Bug: Consumer Fetch Error Due to
> Delayed localLogStartOffset Update During Segment Deletion
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: KAFKA-16073
> URL: https://issues.apache.org/jira/browse/KAFKA-16073
> Project: Kafka
> Issue Type: Bug
> Components: core, Tiered-Storage
> Affects Versions: 3.6.1
> Reporter: hzh0425
> Assignee: hzh0425
> Priority: Major
> Labels: KIP-405, kip-405, tiered-storage
> Fix For: 3.6.1
>
>
> This bug pertains to Apache Kafka's tiered storage functionality.
> Specifically, it involves a timing issue in the {{UnifiedLog.deleteSegments}}
> method. The method first deletes segments from memory but delays updating the
> {{{}localLogStartOffset{}}}. Meanwhile, in
> {{{}ReplicaManager.handleOffsetOutOfRangeError{}}}, if the fetch offset is
> less than {{{}localLogStartOffset{}}}, it triggers the read remote process.
> However, if it's greater, an {{OffsetOutOfRangeException}} is sent to the
> client.
> Consider a scenario with concurrent operations, where {{{}offset1 < offset2 <
> offset3{}}}. A client requests {{offset2}} while a background thread is
> deleting segments. The segments are deleted in memory, but
> {{LocalLogStartOffset}} is still at {{offset1}} and not yet updated to
> {{{}offset3{}}}. In this state, since {{offset2}} is greater than
> {{{}offset1{}}}, {{ReplicaManager.handleOffsetOutOfRangeError}} erroneously
> returns an {{OffsetOutOfRangeException}} to the client. This happens because
> the system has not yet recognized the new starting offset ({{{}offset3{}}}),
> leading to incorrect handling of fetch requests.
>
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)