You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Rakesh Radhakrishnan (Jira)" <ji...@apache.org> on 2022/02/01 13:08:00 UTC

[jira] [Comment Edited] (HDDS-6213) Layout version based argument actions

    [ https://issues.apache.org/jira/browse/HDDS-6213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17484485#comment-17484485 ] 

Rakesh Radhakrishnan edited comment on HDDS-6213 at 2/1/22, 1:07 PM:
---------------------------------------------------------------------

[~pifta] [~erose] Will this conditional action be executed irrespective of the "{{{}pre-finalized" state{}}} of OM ?

 

+*Pre-finalization Behavior of FSO:*+

*Case-1) User can create bucket in below ways:*

    *(A) Ozone Shell:-*

    case-1) Old-Shell-Client : ozone sh  create bucket myBucket

    case-2) New-Shell-Client : ozone sh create bucket --layout=FSO myFSOBucket

    ({*}B) BasicRootedFileSystem createBucket:-{*}

           If the bucket doesn’t exists then client will create a bucket with FSO layout.

*Expected Behaviour:-*

    OM will create LEGACY bucket by giving a WARN message if the given bucket layout is FSO/OBS.

     +Note:+ OM shouldn’t read the "ozone.default.bucket.layout" default value if the client does not specify the bucket layout option.

 

+*Post finalization phase - Behavior of FSO:*+

Here the idea is to to disallow any operations(read/list/delete/rename/update) on a FILE_SYSTEM_OPTIMIZED("FSO") bucket by a {{{}pre-FSO client(old version client){}}}. Will throw exception to the {{pre-FSO client}} when he tries to access FSO bucket.

 

+*Overall Behavior of FSO (both PRE and POST upgrade):*+

Only a {{new client}} can talk to FSO bucket.


was (Author: rakeshr):
[~pifta] [~erose] Will this conditional action be executed irrespective of the "{{{}pre-finalized" state{}}} of OM ?

 

+*Pre-finalization Behavior of FSO:*+

*Case-1) User can create bucket in below ways:*

 *    (A) Ozone Shell:-*

    case-1) Old-Shell-Client : ozone sh  create bucket myBucket

    case-2) New-Shell-Client : ozone sh create bucket --layout=FSO myFSOBucket

    ({*}B) BasicRootedFileSystem createBucket:-{*}

 **      case-1) ** if the bucket doesn’t exists then client will create a bucket with FSO layout.

*Expected Behaviour:-*

    OM will create LEGACY bucket by giving a WARN message if the given bucket layout is FSO/OBS.

     +Note:+ OM shouldn’t read the "ozone.default.bucket.layout" default value if the client does not specify the bucket layout option.

 

+*Post finalization phase - Behavior of FSO:*+

Here the idea is to to disallow any operations(read/list/delete/rename/update) on a FILE_SYSTEM_OPTIMIZED("FSO") bucket by a {{{}pre-FSO client(old version client){}}}. Will throw exception to the {{pre-FSO client}} when he tries to access FSO bucket.

 

+*Overall Behavior of FSO (both PRE and POST upgrade):*+

Only a {{new client}} can talk to FSO bucket.

> Layout version based argument actions
> -------------------------------------
>
>                 Key: HDDS-6213
>                 URL: https://issues.apache.org/jira/browse/HDDS-6213
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: OM
>            Reporter: Ethan Rose
>            Assignee: István Fajth
>            Priority: Major
>
> Currently, the upgrade framework provides annotations that can be applied to RPC endpoints to fail calls when the cluster is pre-finalized for a certain layout version. Features like EC and FSO may add parameters to existing endpoints, instead of adding new endpoints, and the request only needs to be blocked or modified if certain arguments are passed in. This Jira proposes adding annotations for conditional failure based on the arguments supplied and the cluster's metadata layout version. Pluggable actions given to the annotation could fail the request or modify the arguments before proceeding.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org