You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2023/03/07 08:55:55 UTC
[skywalking] 01/01: Bump up snakeyaml to 2.0
This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch yaml
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 0e3fcbaaaf29dc316cce4d76eb63822220272e7d
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Tue Mar 7 16:55:26 2023 +0800
Bump up snakeyaml to 2.0
---
dist-material/release-docs/LICENSE | 2 +-
oap-server-bom/pom.xml | 2 +-
.../server/analyzer/provider/meter/config/MeterConfigs.java | 2 +-
.../provider/trace/sampling/SamplingPolicySettingsReader.java | 7 ++++---
.../oap/log/analyzer/dsl/spec/parser/YamlParserSpec.java | 6 +++++-
.../skywalking/oap/log/analyzer/provider/LALConfigs.java | 2 +-
.../skywalking/oap/server/core/alarm/provider/RulesReader.java | 9 +++++----
.../oap/server/core/analysis/ApdexThresholdConfig.java | 3 ++-
.../server/core/config/group/EndpointGroupingRuleReader.java | 5 +++--
.../group/openapi/EndpointGroupingRuleReader4Openapi.java | 5 +++--
.../oap/server/library/util/yaml/ClassFilterConstructor.java | 10 +++++++---
.../configuration/discovery/AgentConfigurationsReader.java | 9 +++++----
.../server/receiver/zabbix/provider/config/ZabbixConfigs.java | 2 +-
13 files changed, 39 insertions(+), 25 deletions(-)
diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE
index 9e553204bd..bea42c58e9 100644
--- a/dist-material/release-docs/LICENSE
+++ b/dist-material/release-docs/LICENSE
@@ -345,7 +345,7 @@ The text of each license is the standard Apache 2.0 license.
https://mvnrepository.com/artifact/org.slf4j/log4j-over-slf4j/1.7.30 Apache-2.0
https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.30 Apache-2.0
https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java/1.1.8.1 Apache-2.0
- https://mvnrepository.com/artifact/org.yaml/snakeyaml/1.33 Apache-2.0
+ https://mvnrepository.com/artifact/org.yaml/snakeyaml/2.0 Apache-2.0
https://npmjs.com/package/typescript/v/4.7.4 4.7.4 Apache-2.0
========================================================================
diff --git a/oap-server-bom/pom.xml b/oap-server-bom/pom.xml
index 8c22ed7d1d..a5ff3d2a8a 100644
--- a/oap-server-bom/pom.xml
+++ b/oap-server-bom/pom.xml
@@ -40,7 +40,7 @@
<joda-time.version>2.10.5</joda-time.version>
<zookeeper.version>3.5.7</zookeeper.version>
<guava.version>31.1-jre</guava.version>
- <snakeyaml.version>1.33</snakeyaml.version>
+ <snakeyaml.version>2.0</snakeyaml.version>
<protobuf-java.version>3.21.8</protobuf-java.version>
<protobuf-java-util.version>3.21.8</protobuf-java-util.version>
<commons-codec.version>1.11</commons-codec.version>
diff --git a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/meter/config/MeterConfigs.java b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/meter/config/MeterConfigs.java
index ac53413e78..4e4a3a3493 100644
--- a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/meter/config/MeterConfigs.java
+++ b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/meter/config/MeterConfigs.java
@@ -65,7 +65,7 @@ public class MeterConfigs {
return null;
}
try (Reader r = new FileReader(f)) {
- return new Yaml().loadAs(r, MeterConfig.class);
+ return new Yaml().<MeterConfig>load(r);
} catch (IOException e) {
log.warn("Reading file {} failed", f, e);
}
diff --git a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/sampling/SamplingPolicySettingsReader.java b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/sampling/SamplingPolicySettingsReader.java
index e4b171882e..13b452e506 100644
--- a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/sampling/SamplingPolicySettingsReader.java
+++ b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/sampling/SamplingPolicySettingsReader.java
@@ -18,6 +18,7 @@
package org.apache.skywalking.oap.server.analyzer.provider.trace.sampling;
import org.apache.skywalking.oap.server.library.util.StringUtil;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -32,15 +33,15 @@ import java.util.Objects;
* SamplingPolicySettings}.
*/
public class SamplingPolicySettingsReader {
- private Map yamlData;
+ private Map<String, ?> yamlData;
public SamplingPolicySettingsReader(InputStream inputStream) {
- Yaml yaml = new Yaml(new SafeConstructor());
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
yamlData = yaml.load(inputStream);
}
public SamplingPolicySettingsReader(Reader io) {
- Yaml yaml = new Yaml(new SafeConstructor());
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
yamlData = yaml.load(io);
}
diff --git a/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/dsl/spec/parser/YamlParserSpec.java b/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/dsl/spec/parser/YamlParserSpec.java
index bbd4dc4765..2b99b30bed 100644
--- a/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/dsl/spec/parser/YamlParserSpec.java
+++ b/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/dsl/spec/parser/YamlParserSpec.java
@@ -37,6 +37,10 @@ public class YamlParserSpec extends AbstractParserSpec {
}
public Yaml create() {
- return new Yaml(new SafeConstructor(), new Representer(), new DumperOptions(), loaderOptions);
+ final var dumperOptions = new DumperOptions();
+ return new Yaml(
+ new SafeConstructor(loaderOptions),
+ new Representer(dumperOptions),
+ dumperOptions, loaderOptions);
}
}
diff --git a/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LALConfigs.java b/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LALConfigs.java
index 11b0214570..a67f0a4c76 100644
--- a/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LALConfigs.java
+++ b/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LALConfigs.java
@@ -62,7 +62,7 @@ public class LALConfigs {
})
.map(f -> {
try (final Reader r = new FileReader(f)) {
- return new Yaml().loadAs(r, LALConfigs.class);
+ return new Yaml().<LALConfigs>load(r);
} catch (IOException e) {
log.debug("Failed to read file {}", f, e);
}
diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java
index c0bfc8b8fd..924c04894f 100644
--- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java
+++ b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java
@@ -38,6 +38,7 @@ import org.apache.skywalking.oap.server.core.alarm.provider.slack.SlackSettings;
import org.apache.skywalking.oap.server.core.alarm.provider.wechat.WechatSettings;
import org.apache.skywalking.oap.server.core.alarm.provider.welink.WeLinkSettings;
import org.apache.skywalking.oap.server.library.util.CollectionUtils;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -48,13 +49,13 @@ public class RulesReader {
private Map yamlData;
public RulesReader(InputStream inputStream) {
- Yaml yaml = new Yaml(new SafeConstructor());
- yamlData = (Map) yaml.load(inputStream);
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
+ yamlData = yaml.load(inputStream);
}
public RulesReader(Reader io) {
- Yaml yaml = new Yaml(new SafeConstructor());
- yamlData = (Map) yaml.load(io);
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
+ yamlData = yaml.load(io);
}
/**
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/ApdexThresholdConfig.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/ApdexThresholdConfig.java
index 083eaad6f3..457b4eebd3 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/ApdexThresholdConfig.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/ApdexThresholdConfig.java
@@ -29,6 +29,7 @@ import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.CoreModuleProvider;
import org.apache.skywalking.oap.server.library.util.ResourceUtils;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -95,7 +96,7 @@ public class ApdexThresholdConfig extends ConfigChangeWatcher implements Configu
@SuppressWarnings("unchecked")
private void updateConfig(final Reader contentRender) {
- dictionary = (Map<String, Integer>) new Yaml(new SafeConstructor()).load(contentRender);
+ dictionary = new Yaml(new SafeConstructor(new LoaderOptions())).load(contentRender);
if (dictionary == null) {
dictionary = Collections.emptyMap();
}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/EndpointGroupingRuleReader.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/EndpointGroupingRuleReader.java
index 88dfffa84b..a7bc86a67b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/EndpointGroupingRuleReader.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/EndpointGroupingRuleReader.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import org.apache.skywalking.oap.server.library.util.StringUtil;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -34,12 +35,12 @@ public class EndpointGroupingRuleReader {
private Map yamlData;
public EndpointGroupingRuleReader(InputStream inputStream) {
- Yaml yaml = new Yaml(new SafeConstructor());
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
yamlData = (Map) yaml.load(inputStream);
}
public EndpointGroupingRuleReader(Reader io) {
- Yaml yaml = new Yaml(new SafeConstructor());
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
yamlData = (Map) yaml.load(io);
}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointGroupingRuleReader4Openapi.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointGroupingRuleReader4Openapi.java
index 21c8555499..4347359363 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointGroupingRuleReader4Openapi.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointGroupingRuleReader4Openapi.java
@@ -30,6 +30,7 @@ import java.util.List;
import java.util.Map;
import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.library.util.ResourceUtils;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -99,7 +100,7 @@ public class EndpointGroupingRuleReader4Openapi {
continue;
}
Reader reader = new FileReader(file);
- Yaml yaml = new Yaml(new SafeConstructor());
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
Map openapiData = yaml.load(reader);
if (openapiData != null) {
serviceOpenapiDefMap.computeIfAbsent(getServiceName(openapiDefPath, file, openapiData), k -> new ArrayList<>()).add(openapiData);
@@ -119,7 +120,7 @@ public class EndpointGroupingRuleReader4Openapi {
serviceName = itemNameInfo[0];
}
Reader reader = new StringReader(openapiDefs);
- Yaml yaml = new Yaml(new SafeConstructor());
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
Map openapiData = yaml.load(reader);
if (openapiData != null) {
serviceOpenapiDefMap.computeIfAbsent(getServiceName(serviceName, openapiData), k -> new ArrayList<>())
diff --git a/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/yaml/ClassFilterConstructor.java b/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/yaml/ClassFilterConstructor.java
index c31f324013..fc5d03bce5 100644
--- a/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/yaml/ClassFilterConstructor.java
+++ b/oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/yaml/ClassFilterConstructor.java
@@ -18,18 +18,22 @@
package org.apache.skywalking.oap.server.library.util.yaml;
-import lombok.RequiredArgsConstructor;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.constructor.Constructor;
/**
* Whitelist constructor implementation for YAML snake.
* Copied from Apache ShardingSphere.
*/
-@RequiredArgsConstructor
public final class ClassFilterConstructor extends Constructor {
private final Class<?>[] acceptClasses;
+ public ClassFilterConstructor(final Class<?>[] acceptClasses) {
+ super(new LoaderOptions());
+ this.acceptClasses = acceptClasses;
+ }
+
@Override
protected Class<?> getClassForName(final String name) throws ClassNotFoundException {
for (Class<? extends Object> each : acceptClasses) {
@@ -39,4 +43,4 @@ public final class ClassFilterConstructor extends Constructor {
}
throw new IllegalArgumentException(String.format("Class is not accepted: %s", name));
}
-}
\ No newline at end of file
+}
diff --git a/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/AgentConfigurationsReader.java b/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/AgentConfigurationsReader.java
index 69d44cae58..27d581a6a8 100644
--- a/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/AgentConfigurationsReader.java
+++ b/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/AgentConfigurationsReader.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -37,13 +38,13 @@ public class AgentConfigurationsReader {
private Map yamlData;
public AgentConfigurationsReader(InputStream inputStream) {
- Yaml yaml = new Yaml(new SafeConstructor());
- yamlData = (Map) yaml.load(inputStream);
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
+ yamlData = yaml.load(inputStream);
}
public AgentConfigurationsReader(Reader io) {
- Yaml yaml = new Yaml(new SafeConstructor());
- yamlData = (Map) yaml.load(io);
+ Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
+ yamlData = yaml.load(io);
}
public AgentConfigurationsTable readAgentConfigurationsTable() {
diff --git a/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/config/ZabbixConfigs.java b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/config/ZabbixConfigs.java
index 9d5c5730f0..3f65f7d576 100644
--- a/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/config/ZabbixConfigs.java
+++ b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/config/ZabbixConfigs.java
@@ -59,7 +59,7 @@ public class ZabbixConfigs {
return null;
}
try (Reader r = new FileReader(f)) {
- return new Yaml().loadAs(r, ZabbixConfig.class);
+ return new Yaml().<ZabbixConfig>load(r);
} catch (IOException e) {
log.warn("Reading file {} failed", f, e);
}