[ 
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]

Reply via email to