[ 
https://issues.apache.org/jira/browse/HDDS-10395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Andika updated HDDS-10395:
-------------------------------
    Component/s: Ozone Manager

> Fix compatibility issue with eTag during MPU listParts
> ------------------------------------------------------
>
>                 Key: HDDS-10395
>                 URL: https://issues.apache.org/jira/browse/HDDS-10395
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: OM, Ozone Manager, S3
>            Reporter: Ivan Andika
>            Assignee: Ivan Andika
>            Priority: Major
>
> Found an eTag incompatibility in S3 listParts while testing the multipart 
> uploads old S3G and new OMs.
> First issue is in KeyManagerImpl#listParts
> {code:java}
> OmPartInfo omPartInfo = new OmPartInfo(partKeyInfo.getPartNumber(),
>     partName,
>     partKeyInfo.getPartKeyInfo().getModificationTime(),
>     partKeyInfo.getPartKeyInfo().getDataSize(),
>     partKeyInfo.getPartKeyInfo().getMetadataList().stream()
>         .filter(keyValue -> keyValue.getKey().equals(ETAG))
>         .findFirst().get().getValue()); {code}
> This will throw "java.util.NoSuchElementException: No value present" in case 
> where the MPU part does not contain eTag field (before HDDS-9680)
> Second issue, is that ObjectEndpoint#listParts is currently only returning 
> the MPU part eTag, which might not exist for old MPU parts. This can be 
> resolved by falling back to using partName as eTag if the eTag is not 
> specified.
>  



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