You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Siyao Meng (Jira)" <ji...@apache.org> on 2026/10/09 09:11:00 UTC
[jira] [Assigned] (HDDS-16813) Reject external CompleteFinalizeUpgrade requests
[ https://issues.apache.org/jira/browse/HDDS-16813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Siyao Meng reassigned HDDS-16813:
---------------------------------
Assignee: Siyao Meng
> Reject external CompleteFinalizeUpgrade requests
> ------------------------------------------------
>
> Key: HDDS-16813
> URL: https://issues.apache.org/jira/browse/HDDS-16813
> Project: Apache Ozone
> Issue Type: Bug
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
> Labels: pull-request-available
>
> CompleteFinalizeUpgrade is an internal request submitted by OMUpgradeFinalizeService through Ratis. However, [normal client dispatch|https://github.com/apache/ozone/blob/8ca449147710bb69be1b77b22d24d0f70709f72c/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/utils/OzoneManagerRatisUtils.java#L203] also accepts it, and [its handler|https://github.com/apache/ozone/blob/8ca449147710bb69be1b77b22d24d0f70709f72c/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/upgrade/OMCompleteFinalizeUpgradeRequest.java#L48] inherits preExecute() without rejecting external submissions.
> Clients should initiate finalization through StartFinalizeUpgrade. The background service then waits for HDDS finalization before submitting CompleteFinalizeUpgrade. We should enforce this intended request boundary.
> Proposed change:
> * Override preExecute() to reject external submissions with INVALID_REQUEST, following the existing convention of calling super.preExecute().
> * Preserve internal Ratis application, which bypasses preExecute().
> * Add external-request regression coverage and update the completion-handler tests to exercise internal application directly.
> Local validation on master 8ca449147710:
> * The external-request regression fails before the fix and passes afterward.
> * All 52 related unit tests pass, including internal completion and background-service tests.
> * Checkstyle and git diff --check pass.
> * No live-cluster RPC validation was performed.
> [HDDS-16025|https://issues.apache.org/jira/browse/HDDS-16025] / [PR #11074|https://github.com/apache/ozone/pull/11074] renamed OMFinalizeUpgradeRequest to OMCompleteFinalizeUpgradeRequest and added a separate CompleteFinalizeUpgrade command type.
--
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