[
https://issues.apache.org/jira/browse/HDDS-16074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arafat Khan updated HDDS-16074:
-------------------------------
Issue Type: Improvement (was: Bug)
> Make Recon RECON_TASK_STATUS column upgrade idempotent and fail on error.
> -------------------------------------------------------------------------
>
> Key: HDDS-16074
> URL: https://issues.apache.org/jira/browse/HDDS-16074
> Project: Apache Ozone
> Issue Type: Improvement
> Components: Ozone Recon
> Reporter: Arafat Khan
> Priority: Major
>
> The upgrade action that adds the {{last_task_run_status}} and
> {{is_current_task_running}} columns to the {{RECON_TASK_STATUS}} table
> ({{{}ReconTaskStatusTableUpgradeAction{}}}) has two robustness gaps:
> # *It swallows failures.* Unlike the other upgrade actions, {{execute()}}
> catches and logs any error but does not rethrow. If the column migration
> fails, layout finalization still marks the version as complete — leaving a
> table without the required columns that _appears_ upgraded. Subsequent writes
> to {{RECON_TASK_STATUS}} then fail.
> # *It is not idempotent and cannot complete a partial migration.* It
> unconditionally adds the columns and resets every row to 0, so it cannot
> safely re-run on a table that already has the columns, and cannot recover a
> migration that was interrupted after adding a column but before enforcing
> {{{}NOT NULL{}}}.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]