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

Bharat Viswanadham updated HDDS-5908:
-------------------------------------
        Parent:     (was: HDDS-5626)
    Issue Type: Bug  (was: Sub-task)

> MPU getKey can fail, if completeMPU result is still in cache
> ------------------------------------------------------------
>
>                 Key: HDDS-5908
>                 URL: https://issues.apache.org/jira/browse/HDDS-5908
>             Project: Apache Ozone
>          Issue Type: Bug
>            Reporter: Ethan Rose
>            Assignee: Bharat Viswanadham
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.3.0
>
>         Attachments: repeat_mpu_test.diff
>
>
> Failure was observed on this CI run: 
> [https://github.com/apache/ozone/runs/4015387580?check_suite_focus=true]
> The output bundles expired before I could add them to this Jira, but the 
> failure can be reproduced on master by applying the patch attached to this 
> Jira and running the test. The patch speeds up repeated execution of the test 
> by repeatedly writing keys without having to spin up a new mini ozone cluster 
> in between each write.  It usually takes about 4 minutes and 1200 iterations 
> to reproduce.
> The failing assertion is:
> {code:java}
> OzoneInputStream inputStream = bucket.readKey(keyName);
> Assert.assertTrue(inputStream instanceof MultipartCryptoKeyInputStream);{code}
> Indicating a plain OzoneInputStream is returned, since the class has no other 
> sub classes.
> *I have found the reason for this.*
> 1. If complete MPU is completed, it adds the entry to keyTable.
> 2. Now if getKey happens on this, if doublebuffer flush not completed flush 
> and cleaned up cache if entry is still in keyTable, the key info returned as 
> Not Mpu Key, this is due to a bug in OmKeyInfo#copyObject Which is not using 
> isMultipartKey.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to