Tsz-wo Sze created HDDS-8665:
--------------------------------
Summary: OmDBSnapshotInfoCodec.copyObject(..) does not follow the
general contract of copy.
Key: HDDS-8665
URL: https://issues.apache.org/jira/browse/HDDS-8665
Project: Apache Ozone
Issue Type: Bug
Components: OM, Snapshot
Reporter: Tsz-wo Sze
In OmDBSnapshotInfoCodec.copyObject(..), it currently simply returns the same
object. However, if it is changed to return a real copy as below,
TestOMSnapshotDeleteRequest and TestOMSnapshotPurgeRequestAndResponse will fail.
{code}
+++
b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/codec/OmDBSnapshotInfoCodec.java
@@ -53,6 +53,14 @@ public SnapshotInfo fromPersistedFormat(byte[] rawData)
@Override
public SnapshotInfo copyObject(SnapshotInfo object) {
// Note: Not really a "copy". from OMDBSnapshotInfoCodec
- return object;
+
+ // TODO: Copy will cause failures
+ // - TestOMSnapshotDeleteRequest NullPointerException
+ // - TestOMSnapshotPurgeRequestAndResponse AssertionFailedError
+ try {
+ return fromPersistedFormat(toPersistedFormat(object));
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]