[
https://issues.apache.org/jira/browse/HDDS-5908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HDDS-5908:
---------------------------------
Labels: pull-request-available (was: )
> 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: Sub-task
> Reporter: Ethan Rose
> Assignee: Bharat Viswanadham
> Priority: Major
> Labels: pull-request-available
> 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 found the reason.
> 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]