[
https://issues.apache.org/jira/browse/HDDS-6941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rakesh Radhakrishnan updated HDDS-6941:
---------------------------------------
Parent: HDDS-5672
Issue Type: Sub-task (was: Bug)
> Setting Bucket Property can corrupt bucket layout
> -------------------------------------------------
>
> Key: HDDS-6941
> URL: https://issues.apache.org/jira/browse/HDDS-6941
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: George Jahad
> Assignee: George Jahad
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.3.0
>
>
> A member of our dev ops team discovered that setting a quota on a non legacy
> bucket will convert it to a legacy bucket, making the data there inaccessible.
> You can reproduce the problem like so:
> {{ozone sh volume create testgbj}}
> {{ozone sh bucket create -l FILE_SYSTEM_OPTIMIZED testgbj/fsobucket4}}
> {{ozone sh bucket setquota --namespace-quota=20 testgbj/fsobucket4}}
> ozone sh bucket info testgbj/fsobucket4
> {\{{}}
> {{ "metadata" : \{ },}}
> {{ "volumeName" : "testgbj",}}
> {{ "name" : "fsobucket4",}}
> {{ "storageType" : "DISK",}}
> {{ "versioning" : false,}}
> {{ "usedBytes" : 0,}}
> {{ "usedNamespace" : 0,}}
> {{ "creationTime" : "2022-06-23T21:26:47.091Z",}}
> {{ "modificationTime" : "2022-06-23T21:27:48.255Z",}}
> {{ "quotaInBytes" : -1,}}
> {{ "quotaInNamespace" : 20,}}
> {{ "bucketLayout" : "LEGACY",}}
> {{ "replicationConfig" : {}}
> {{ "replicationFactor" : "ONE",}}
> {{ "requiredNodes" : 1,}}
> {{ "replicationType" : "RATIS"}}
> {{ },}}
> {{ "link" : false}}
> {{}}}
>
> The problem is that validateAndUpdateCache() method in
> OMBucketSetPropertyRequest.java creates a copy of the OmBucketInfo with the
> new property set, but leaves the bucket layout as the default, instead of
> copying it over.
> Fix appears to be just to set the layout explicitly.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]