Skip to content

Commit 369e7be

Browse files
ucedependabot[bot]MartijnVisser
authored
[FLINK-35038] Bump org.yaml:snakeyaml to 2.2 (#93)
* Bump org.yaml:snakeyaml from 1.31 to 2.0 in /flink-connector-kafka Bumps [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) from 1.31 to 2.0. - [Commits](https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.0..snakeyaml-1.31) --- updated-dependencies: - dependency-name: org.yaml:snakeyaml dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * [FLINK-XXXXX] Bump org.yaml:snakeyaml from 2.0 to 2.2 * [FLINK-35038] Fix SnakeYAML usage after version bump SnakeYAML introduced breaking API changes and behavior changes between 1.31 and 2.2. This commit uses the updated APIs and explicitly allows the global tag for StreamMetadata (see changed SnakeYAML behavior in [1]). [1] snakeyaml/snakeyaml@2b8d47c --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Martijn Visser <[email protected]>
1 parent 1c39e3b commit 369e7be

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

flink-connector-kafka/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ under the License.
174174
<dependency>
175175
<groupId>org.yaml</groupId>
176176
<artifactId>snakeyaml</artifactId>
177-
<version>1.31</version>
177+
<version>2.2</version>
178178
<scope>test</scope>
179179
</dependency>
180180

flink-connector-kafka/src/test/java/org/apache/flink/connector/kafka/testutils/YamlFileMetadataService.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.slf4j.Logger;
3030
import org.slf4j.LoggerFactory;
3131
import org.yaml.snakeyaml.DumperOptions;
32+
import org.yaml.snakeyaml.LoaderOptions;
3233
import org.yaml.snakeyaml.TypeDescription;
3334
import org.yaml.snakeyaml.Yaml;
3435
import org.yaml.snakeyaml.constructor.Constructor;
@@ -252,19 +253,25 @@ Set<KafkaStream> parseFile() throws IOException {
252253
}
253254

254255
private static Yaml initYamlParser() {
255-
Representer representer = new Representer();
256+
DumperOptions dumperOptions = new DumperOptions();
257+
Representer representer = new Representer(dumperOptions);
256258
representer.addClassTag(StreamMetadata.class, Tag.MAP);
257259
TypeDescription typeDescription = new TypeDescription(StreamMetadata.class);
258260
representer.addTypeDescription(typeDescription);
259261
representer.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
260-
return new Yaml(new ListConstructor<>(StreamMetadata.class), representer);
262+
LoaderOptions loaderOptions = new LoaderOptions();
263+
// Allow global tag for StreamMetadata
264+
loaderOptions.setTagInspector(
265+
tag -> tag.getClassName().equals(StreamMetadata.class.getName()));
266+
return new Yaml(new ListConstructor<>(StreamMetadata.class, loaderOptions), representer);
261267
}
262268

263269
/** A custom constructor is required to read yaml lists at the root. */
264270
private static class ListConstructor<T> extends Constructor {
265271
private final Class<T> clazz;
266272

267-
public ListConstructor(final Class<T> clazz) {
273+
public ListConstructor(final Class<T> clazz, final LoaderOptions loaderOptions) {
274+
super(loaderOptions);
268275
this.clazz = clazz;
269276
}
270277

0 commit comments

Comments
 (0)