[
https://issues.apache.org/jira/browse/HDDS-16209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sammi Chen updated HDDS-16209:
------------------------------
Summary: KeyLifecycleService leaks inFlight entry when a task runs while
shouldRun() is false (was: KeyLifecycleService leaks inFlight entry,
permanently blocking the bucket)
> KeyLifecycleService leaks inFlight entry when a task runs while shouldRun()
> is false
> ------------------------------------------------------------------------------------
>
> Key: HDDS-16209
> URL: https://issues.apache.org/jira/browse/HDDS-16209
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: OM
> Affects Versions: 2.3.0
> Reporter: Sergey Soldatov
> Assignee: Sergey Soldatov
> Priority: Major
> Labels: pull-request-available
>
> When a KeyLifecycleService task is scheduled for a bucket, the bucket is
> marked as "in flight" so it is not scheduled twice. The mark is only cleared
> when the task actually runs its work, but if the task starts while the
> service cannot run at that moment (the service was just suspended or
> disabled, or the OM is not yet leader), the task exits early and the mark is
> never cleared. After that the service considers the bucket permanently busy
> and skips it on every scheduling round, so lifecycle rules for that bucket
> silently stop working until the OM is restarted. This can happen in
> production after a leader change or a suspend/resume of the service, and it
> also causes flaky timeouts in TestKeyLifecycleService.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]