You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Gargi Jaiswal (Jira)" <ji...@apache.org> on 2026/05/13 06:58:00 UTC
[jira] [Updated] (HDDS-15257) [DiskBalancer] Add CLOSING state to the "not movable" check
[ https://issues.apache.org/jira/browse/HDDS-15257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gargi Jaiswal updated HDDS-15257:
---------------------------------
Description:
*{{isOpenToWriteState(state)}}* only returns {{true}} for {{OPEN}} and {{RECOVERING:}}
{code:java}
public static boolean isOpenToWriteState(State state) {
return state == State.OPEN || state == State.RECOVERING;
} {code}
{{*CLOSING* is not covered. So when this validation in }}{{DiskBalancerConfiguration}}{{ runs, it only blocks }}*{{{}OPEN{}}}{{{}, {}}}{{{}RECOVERING{}}}{{{},{}}}* {{and}} {*}{{DELETED}}{*}{{{}. A user who configures {}}}{color:#de350b}{{movableContainerStates = CLOSING}}{color}{{ would not get an error — the config would silently allow DiskBalancer to try to move containers in }}*{{CLOSING}}*{{ state.}}
{{*Fix:* }}
{code:java}
if (HddsUtils.isOpenToWriteState(state) || state == State.CLOSING || state == State.DELETED) {
throw new IllegalArgumentException("State " + name + " is not movable.");
} {code}
was:
*{{isOpenToWriteState(state)}}* only returns {{true}} for {{OPEN}} and {{RECOVERING:}}
{code:java}
public static boolean isOpenToWriteState(State state) {
return state == State.OPEN || state == State.RECOVERING;
} {code}
{{*CLOSING and INVALID* is not covered. So when this validation in }}{{DiskBalancerConfiguration}}{{ runs, it only blocks }}*{{{}OPEN{}}}{{{}, {}}}{{{}RECOVERING{}}}{{{},{}}}* {{and}} {*}{{DELETED}}{*}{{{}. A user who configures {}}}{color:#de350b}{{movableContainerStates = CLOSING}}{color}{{ would not get an error — the config would silently allow DiskBalancer to try to move containers in }}*{{CLOSING}}*{{ state.}}
{{*Fix:* }}
{code:java}
if (HddsUtils.isOpenToWriteState(state) || state == State.CLOSING || state == State.DELETED || state == State.INVALID) {
throw new IllegalArgumentException("State " + name + " is not movable.");
} {code}
> [DiskBalancer] Add CLOSING state to the "not movable" check
> -----------------------------------------------------------
>
> Key: HDDS-15257
> URL: https://issues.apache.org/jira/browse/HDDS-15257
> Project: Apache Ozone
> Issue Type: Bug
> Reporter: Gargi Jaiswal
> Assignee: Gargi Jaiswal
> Priority: Major
>
> *{{isOpenToWriteState(state)}}* only returns {{true}} for {{OPEN}} and {{RECOVERING:}}
> {code:java}
> public static boolean isOpenToWriteState(State state) {
> return state == State.OPEN || state == State.RECOVERING;
> } {code}
> {{*CLOSING* is not covered. So when this validation in }}{{DiskBalancerConfiguration}}{{ runs, it only blocks }}*{{{}OPEN{}}}{{{}, {}}}{{{}RECOVERING{}}}{{{},{}}}* {{and}} {*}{{DELETED}}{*}{{{}. A user who configures {}}}{color:#de350b}{{movableContainerStates = CLOSING}}{color}{{ would not get an error — the config would silently allow DiskBalancer to try to move containers in }}*{{CLOSING}}*{{ state.}}
> {{*Fix:* }}
> {code:java}
> if (HddsUtils.isOpenToWriteState(state) || state == State.CLOSING || state == State.DELETED) {
> throw new IllegalArgumentException("State " + name + " is not movable.");
> } {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org