diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 76b0ec2c76..889231f6f5 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -22,7 +22,7 @@ val DEPENDENCY_BOMS = listOf( "io.zipkin.reporter2:zipkin-reporter-bom:2.16.3", "org.junit:junit-bom:5.9.2", "org.testcontainers:testcontainers-bom:1.17.6", - "org.yaml:snakeyaml:1.33" + "org.snakeyaml:snakeyaml-engine:2.6" ) val autoValueVersion = "1.10.1" diff --git a/sdk-extensions/incubator/build.gradle.kts b/sdk-extensions/incubator/build.gradle.kts index c45154d402..55d282f005 100644 --- a/sdk-extensions/incubator/build.gradle.kts +++ b/sdk-extensions/incubator/build.gradle.kts @@ -20,7 +20,7 @@ dependencies { // io.opentelemetry.sdk.extension.incubator.metric.viewconfig implementation(project(":sdk-extensions:autoconfigure-spi")) - implementation("org.yaml:snakeyaml") + implementation("org.snakeyaml:snakeyaml-engine") // io.opentelemetry.sdk.extension.trace.zpages implementation(project(":semconv")) diff --git a/sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfig.java b/sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfig.java index 489e36139a..c10533543c 100644 --- a/sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfig.java +++ b/sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfig.java @@ -27,7 +27,8 @@ import java.util.Map; import java.util.Optional; import java.util.Set; import javax.annotation.Nullable; -import org.yaml.snakeyaml.Yaml; +import org.snakeyaml.engine.v2.api.Load; +import org.snakeyaml.engine.v2.api.LoadSettings; /** * Enables file based YAML configuration of Metric SDK {@link View}s. @@ -94,10 +95,14 @@ public final class ViewConfig { // Visible for testing @SuppressWarnings("unchecked") static List loadViewConfig(InputStream inputStream) { - Yaml yaml = new Yaml(); + LoadSettings settings = LoadSettings.builder().build(); + Load yaml = new Load(settings); try { List result = new ArrayList<>(); - List> viewConfigs = yaml.load(inputStream); + + List> viewConfigs = + (List>) yaml.loadFromInputStream(inputStream); + for (Map viewConfigSpecMap : viewConfigs) { Map selectorSpecMap = requireNonNull(