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]