This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 7849a1202d HDDS-8086. Bump snakeyaml from 1.33 to 2.0 (#4355)
7849a1202d is described below

commit 7849a1202d7c10bc9bb56891d332b7badbd205da
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Thu Mar 9 14:14:33 2023 +0100

    HDDS-8086. Bump snakeyaml from 1.33 to 2.0 (#4355)
    
    Co-authored-by: rohit-kb <[email protected]>
---
 .../hadoop/hdds/scm/net/NodeSchemaLoader.java      |   5 +-
 .../org/apache/hadoop/hdds/server/YamlUtils.java   |  50 ++++++++++
 .../container/common/helpers/DatanodeIdYaml.java   |   4 +-
 .../container/common/impl/ContainerDataYaml.java   |   4 +
 .../common/helpers/TestContainerUtils.java         |  74 ++++++++++++++
 .../common/helpers/TestDatanodeIdYaml.java         |  47 +++++++++
 .../apache/hadoop/ozone/TestMiniOzoneCluster.java  | 110 ---------------------
 pom.xml                                            |   2 +-
 8 files changed, 180 insertions(+), 116 deletions(-)

diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/NodeSchemaLoader.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/NodeSchemaLoader.java
index 289f7e6b75..38dd9d2109 100644
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/NodeSchemaLoader.java
+++ 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/net/NodeSchemaLoader.java
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hdds.scm.net;
 
 import org.apache.commons.io.FilenameUtils;
+import org.apache.hadoop.hdds.server.YamlUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
@@ -42,7 +43,6 @@ import java.util.List;
 import java.util.Map;
 
 import  org.apache.hadoop.hdds.scm.net.NodeSchema.LayerType;
-import org.yaml.snakeyaml.Yaml;
 
 import static org.apache.commons.collections.EnumerationUtils.toList;
 
@@ -227,10 +227,9 @@ public final class NodeSchemaLoader {
     NodeSchemaLoadResult finalSchema;
 
     try {
-      Yaml yaml = new Yaml();
       NodeSchema nodeTree;
 
-      nodeTree = yaml.loadAs(schemaFile, NodeSchema.class);
+      nodeTree = YamlUtils.loadAs(schemaFile, NodeSchema.class);
 
       List<NodeSchema> schemaList = new ArrayList<>();
       if (nodeTree.getType() != LayerType.ROOT) {
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/server/YamlUtils.java 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/server/YamlUtils.java
new file mode 100644
index 0000000000..43952a5fc8
--- /dev/null
+++ 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/server/YamlUtils.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hdds.server;
+
+import org.yaml.snakeyaml.LoaderOptions;
+import org.yaml.snakeyaml.Yaml;
+import org.yaml.snakeyaml.inspector.TagInspector;
+import org.yaml.snakeyaml.inspector.TrustedPrefixesTagInspector;
+
+import java.io.InputStream;
+import java.util.Arrays;
+
+/**
+ * YAML utilities.
+ */
+public final class YamlUtils {
+
+  private static final Yaml LOADER = getYamlForLoad();
+
+  private YamlUtils() {
+    // no instances
+  }
+
+  public static <T> T loadAs(InputStream input, Class<? super T> type) {
+    return LOADER.loadAs(input, type);
+  }
+
+  private static Yaml getYamlForLoad() {
+    TagInspector tags = new TrustedPrefixesTagInspector(Arrays.asList(
+        "org.apache.hadoop.ozone.", "org.apache.hadoop.hdds."));
+    LoaderOptions loaderOptions = new LoaderOptions();
+    loaderOptions.setTagInspector(tags);
+    return new Yaml(loaderOptions);
+  }
+}
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
index 52f5b3ad01..29fba39897 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/DatanodeIdYaml.java
@@ -32,6 +32,7 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.hdds.server.YamlUtils;
 import org.yaml.snakeyaml.DumperOptions;
 import org.yaml.snakeyaml.Yaml;
 
@@ -71,11 +72,10 @@ public final class DatanodeIdYaml {
       throws IOException {
     DatanodeDetails datanodeDetails;
     try (FileInputStream inputFileStream = new FileInputStream(path)) {
-      Yaml yaml = new Yaml();
       DatanodeDetailsYaml datanodeDetailsYaml;
       try {
         datanodeDetailsYaml =
-            yaml.loadAs(inputFileStream, DatanodeDetailsYaml.class);
+            YamlUtils.loadAs(inputFileStream, DatanodeDetailsYaml.class);
       } catch (Exception e) {
         throw new IOException("Unable to parse yaml file.", e);
       }
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerDataYaml.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerDataYaml.java
index 55427b87b0..5a50b07bb3 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerDataYaml.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerDataYaml.java
@@ -50,6 +50,8 @@ import static org.apache.hadoop.ozone.container.keyvalue
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.yaml.snakeyaml.DumperOptions;
+import org.yaml.snakeyaml.LoaderOptions;
 import org.yaml.snakeyaml.Yaml;
 import org.yaml.snakeyaml.constructor.AbstractConstruct;
 import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -217,6 +219,7 @@ public final class ContainerDataYaml {
     private List<String> yamlFields;
 
     ContainerDataRepresenter(List<String> yamlFields) {
+      super(new DumperOptions());
       this.yamlFields = yamlFields;
     }
 
@@ -257,6 +260,7 @@ public final class ContainerDataYaml {
    */
   private static class ContainerDataConstructor extends SafeConstructor {
     ContainerDataConstructor() {
+      super(new LoaderOptions());
       //Adding our own specific constructors for tags.
       // When a new Container type is added, we need to add yamlConstructor
       // for that
diff --git 
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
 
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
index 1bfdf8ae94..953db528ee 100644
--- 
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
+++ 
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestContainerUtils.java
@@ -17,22 +17,32 @@
  */
 package org.apache.hadoop.ozone.container.common.helpers;
 
+import org.apache.commons.lang3.RandomUtils;
+import org.apache.hadoop.hdds.protocol.DatanodeDetails;
 import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos;
 import 
org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.ContainerCommandRequestProto;
 import 
org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.ContainerCommandResponseProto;
+import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
 import org.apache.hadoop.hdds.scm.ByteStringConversion;
 import org.apache.hadoop.ozone.common.ChunkBuffer;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 
+import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static org.apache.hadoop.hdds.protocol.DatanodeDetails.Port;
+import static 
org.apache.hadoop.hdds.protocol.MockDatanodeDetails.randomDatanodeDetails;
 import static 
org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.Type.ReadChunk;
 import static 
org.apache.hadoop.hdds.scm.protocolPB.ContainerCommandResponseBuilders.getReadChunkResponse;
 import static org.apache.hadoop.hdds.HddsUtils.processForDebug;
 import static 
org.apache.hadoop.ozone.container.ContainerTestHelper.getDummyCommandRequestProto;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 /**
  * Test for {@link ContainerUtils}.
@@ -67,4 +77,68 @@ public class TestContainerUtils {
     assertEquals(containerId,
         ContainerUtils.retrieveContainerIdFromTarName(tarName));
   }
+
+  @Test
+  public void testDatanodeIDPersistent(@TempDir File tempDir) throws Exception 
{
+    // Generate IDs for testing
+    DatanodeDetails id1 = randomDatanodeDetails();
+    id1.setPort(DatanodeDetails.newPort(Port.Name.STANDALONE, 1));
+    assertWriteRead(tempDir, id1);
+
+    // Add certificate serial  id.
+    id1.setCertSerialId("" + RandomUtils.nextLong());
+    assertWriteRead(tempDir, id1);
+
+    // Read should return an empty value if file doesn't exist
+    File nonExistFile = new File(tempDir, "non_exist.id");
+    assertThrows(IOException.class,
+        () -> ContainerUtils.readDatanodeDetailsFrom(nonExistFile));
+
+    // Read should fail if the file is malformed
+    File malformedFile = new File(tempDir, "malformed.id");
+    createMalformedIDFile(malformedFile);
+    assertThrows(IOException.class,
+        () -> ContainerUtils.readDatanodeDetailsFrom(malformedFile));
+
+    // Test upgrade scenario - protobuf file instead of yaml
+    File protoFile = new File(tempDir, "valid-proto.id");
+    try (FileOutputStream out = new FileOutputStream(protoFile)) {
+      HddsProtos.DatanodeDetailsProto proto = id1.getProtoBufMessage();
+      proto.writeTo(out);
+    }
+    assertDetailsEquals(id1, 
ContainerUtils.readDatanodeDetailsFrom(protoFile));
+
+    id1.setInitialVersion(1);
+    assertWriteRead(tempDir, id1);
+  }
+
+  private static void assertWriteRead(@TempDir File tempDir,
+      DatanodeDetails details) throws IOException {
+    // Write a single ID to the file and read it out
+    File file = new File(tempDir, "valid-values.id");
+    ContainerUtils.writeDatanodeDetailsTo(details, file);
+
+    DatanodeDetails read = ContainerUtils.readDatanodeDetailsFrom(file);
+
+    assertDetailsEquals(details, read);
+    assertEquals(details.getCurrentVersion(), read.getCurrentVersion());
+  }
+
+  private void createMalformedIDFile(File malformedFile)
+      throws IOException {
+    DatanodeDetails id = randomDatanodeDetails();
+    ContainerUtils.writeDatanodeDetailsTo(id, malformedFile);
+
+    try (FileOutputStream out = new FileOutputStream(malformedFile)) {
+      out.write("malformed".getBytes(StandardCharsets.UTF_8));
+    }
+  }
+
+  private static void assertDetailsEquals(DatanodeDetails expected,
+      DatanodeDetails actual) {
+    assertEquals(expected, actual);
+    assertEquals(expected.getCertSerialId(), actual.getCertSerialId());
+    assertEquals(expected.getProtoBufMessage(), actual.getProtoBufMessage());
+    assertEquals(expected.getInitialVersion(), actual.getInitialVersion());
+  }
 }
diff --git 
a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestDatanodeIdYaml.java
 
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestDatanodeIdYaml.java
new file mode 100644
index 0000000000..1c69bd049f
--- /dev/null
+++ 
b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/helpers/TestDatanodeIdYaml.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.ozone.container.common.helpers;
+
+import org.apache.hadoop.hdds.protocol.DatanodeDetails;
+import org.apache.hadoop.hdds.protocol.MockDatanodeDetails;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+
+import java.io.File;
+import java.io.IOException;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * Tests for {@link DatanodeIdYaml}.
+ */
+class TestDatanodeIdYaml {
+
+  @Test
+  void testWriteRead(@TempDir File dir) throws IOException {
+    DatanodeDetails original = MockDatanodeDetails.randomDatanodeDetails();
+    File file = new File(dir, "datanode.yaml");
+
+    DatanodeIdYaml.createDatanodeIdFile(original, file);
+    DatanodeDetails read = DatanodeIdYaml.readDatanodeIdFile(file);
+
+    assertEquals(original, read);
+    assertEquals(original.toDebugString(), read.toDebugString());
+  }
+
+}
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMiniOzoneCluster.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMiniOzoneCluster.java
index 4d4e9fb8b6..0fbdb01b41 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMiniOzoneCluster.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestMiniOzoneCluster.java
@@ -19,11 +19,7 @@
 package org.apache.hadoop.ozone;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -34,7 +30,6 @@ import 
org.apache.hadoop.hdds.client.StandaloneReplicationConfig;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.conf.StorageSize;
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
-import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor;
 import org.apache.hadoop.hdds.scm.ScmConfigKeys;
 import org.apache.hadoop.hdds.scm.XceiverClientGrpc;
@@ -42,7 +37,6 @@ import org.apache.hadoop.hdds.scm.pipeline.Pipeline;
 import org.apache.hadoop.hdds.scm.pipeline.PipelineID;
 import org.apache.hadoop.hdds.scm.server.StorageContainerManager;
 import org.apache.hadoop.ozone.container.common.SCMTestUtils;
-import org.apache.hadoop.ozone.container.common.helpers.ContainerUtils;
 import 
org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine;
 import 
org.apache.hadoop.ozone.container.common.statemachine.EndpointStateMachine;
 import org.apache.hadoop.ozone.container.common.volume.StorageVolume;
@@ -51,8 +45,6 @@ import org.apache.hadoop.test.PathUtils;
 import org.apache.hadoop.test.TestGenericTestUtils;
 import org.apache.ozone.test.tag.Flaky;
 
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.RandomUtils;
 import static org.apache.hadoop.hdds.protocol.DatanodeDetails.Port;
 import static 
org.apache.hadoop.hdds.protocol.MockDatanodeDetails.randomDatanodeDetails;
 import static 
org.apache.hadoop.ozone.OzoneConfigKeys.DFS_CONTAINER_RATIS_IPC_RANDOM_PORT;
@@ -62,13 +54,10 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Timeout;
-import org.yaml.snakeyaml.Yaml;
 
 /**
  * Test cases for mini ozone cluster.
@@ -80,8 +69,6 @@ public class TestMiniOzoneCluster {
   private static OzoneConfiguration conf;
 
   private static final File TEST_ROOT = TestGenericTestUtils.getTestDir();
-  private static final File WRITE_TMP = new File(TEST_ROOT, "write");
-  private static final File READ_TMP = new File(TEST_ROOT, "read");
 
   @BeforeAll
   public static void setup() {
@@ -90,8 +77,6 @@ public class TestMiniOzoneCluster {
     conf.setInt(ScmConfigKeys.OZONE_DATANODE_PIPELINE_LIMIT, 1);
     conf.setBoolean(DFS_CONTAINER_RATIS_IPC_RANDOM_PORT, true);
     conf.set(ScmConfigKeys.OZONE_SCM_STALENODE_INTERVAL, "1s");
-    WRITE_TMP.mkdirs();
-    READ_TMP.mkdirs();
   }
 
   @AfterEach
@@ -101,12 +86,6 @@ public class TestMiniOzoneCluster {
     }
   }
 
-  @AfterAll
-  public static void afterClass() {
-    FileUtils.deleteQuietly(WRITE_TMP);
-    FileUtils.deleteQuietly(READ_TMP);
-  }
-
   @Test
   @Flaky("HDDS-6112")
   public void testStartMultipleDatanodes() throws Exception {
@@ -137,71 +116,6 @@ public class TestMiniOzoneCluster {
     }
   }
 
-  @Test
-  public void testDatanodeIDPersistent() throws Exception {
-    // Generate IDs for testing
-    DatanodeDetails id1 = randomDatanodeDetails();
-    id1.setPort(DatanodeDetails.newPort(Port.Name.STANDALONE, 1));
-    assertWriteRead(id1);
-
-    // Add certificate serial  id.
-    id1.setCertSerialId("" + RandomUtils.nextLong());
-    assertWriteRead(id1);
-
-    // Read should return an empty value if file doesn't exist
-    File nonExistFile = new File(READ_TMP, "non_exist.id");
-    nonExistFile.delete();
-    try {
-      ContainerUtils.readDatanodeDetailsFrom(nonExistFile);
-      Assert.fail();
-    } catch (Exception e) {
-      assertTrue(e instanceof IOException);
-    }
-
-    // Read should fail if the file is malformed
-    File malformedFile = new File(READ_TMP, "malformed.id");
-    createMalformedIDFile(malformedFile);
-    try {
-      ContainerUtils.readDatanodeDetailsFrom(malformedFile);
-      fail("Read a malformed ID file should fail");
-    } catch (Exception e) {
-      assertTrue(e instanceof IOException);
-    }
-
-    // Test upgrade scenario - protobuf file instead of yaml
-    File protoFile = new File(WRITE_TMP, "valid-proto.id");
-    try (FileOutputStream out = new FileOutputStream(protoFile)) {
-      HddsProtos.DatanodeDetailsProto proto = id1.getProtoBufMessage();
-      proto.writeTo(out);
-    }
-    assertDetailsEquals(id1, 
ContainerUtils.readDatanodeDetailsFrom(protoFile));
-
-    id1.setInitialVersion(1);
-    assertWriteRead(id1);
-  }
-
-  private static void assertWriteRead(DatanodeDetails details)
-      throws IOException {
-    // Write a single ID to the file and read it out
-    File file = new File(WRITE_TMP, "valid-values.id");
-    file.delete();
-    ContainerUtils.writeDatanodeDetailsTo(details, file);
-
-    // Validate using yaml parser
-    Yaml yaml = new Yaml();
-    try {
-      yaml.load(new InputStreamReader(new FileInputStream(file),
-          StandardCharsets.UTF_8));
-    } catch (Exception e) {
-      Assert.fail("Failed parsing datanode id yaml.");
-    }
-
-    DatanodeDetails read = ContainerUtils.readDatanodeDetailsFrom(file);
-
-    assertDetailsEquals(details, read);
-    assertEquals(details.getCurrentVersion(), read.getCurrentVersion());
-  }
-
   @Test
   public void testContainerRandomPort() throws IOException {
     OzoneConfiguration ozoneConf = SCMTestUtils.getConf();
@@ -302,23 +216,6 @@ public class TestMiniOzoneCluster {
     }
   }
 
-  private void createMalformedIDFile(File malformedFile)
-      throws IOException {
-    malformedFile.delete();
-    DatanodeDetails id = randomDatanodeDetails();
-    ContainerUtils.writeDatanodeDetailsTo(id, malformedFile);
-
-    FileOutputStream out = null;
-    try {
-      out = new FileOutputStream(malformedFile);
-      out.write("malformed".getBytes(StandardCharsets.UTF_8));
-    } finally {
-      if (out != null) {
-        out.close();
-      }
-    }
-  }
-
   /**
    * Test that a DN can register with SCM even if it was started before the 
SCM.
    * @throws Exception
@@ -392,11 +289,4 @@ public class TestMiniOzoneCluster {
             storageVolume.getVolumeInfo().getReservedInBytes()));
   }
 
-  private static void assertDetailsEquals(DatanodeDetails expected,
-      DatanodeDetails actual) {
-    assertEquals(expected, actual);
-    assertEquals(expected.getCertSerialId(), actual.getCertSerialId());
-    assertEquals(expected.getProtoBufMessage(), actual.getProtoBufMessage());
-    assertEquals(expected.getInitialVersion(), actual.getInitialVersion());
-  }
 }
diff --git a/pom.xml b/pom.xml
index 42c32cdf73..8295a82ae0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -287,7 +287,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xs
     
<proto-backwards-compatibility.version>1.0.7</proto-backwards-compatibility.version>
 
     <swagger-annotations-version>1.5.4</swagger-annotations-version>
-    <snakeyaml.version>1.33</snakeyaml.version>
+    <snakeyaml.version>2.0</snakeyaml.version>
     <sonar.java.binaries>${basedir}/target/classes</sonar.java.binaries>
 
     <aspectj.version>1.9.7</aspectj.version>


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

Reply via email to