Skip to content

ApplicationManifestUtilsV3#write is not threadsafe #1245

@LitschiW

Description

@LitschiW

The method ApplicationManifestUtilsV3#write uses a static snakeyaml Yaml dumper to write all manifests into a byte array. This operation is inheritly not threadsafe, as the deserializer is not.

This in itself may not a be problem. However, when using Applications#pushManifestv3 to push multiple Apps in parallel this can cause issues that manifest in the form of

  • Bad request: Manifest does not support Anchors and Aliases or
  • java.lang.NullPointerException: Nodes must be provided.

Snakeyaml recommends to create a singe instance per thread.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions