Hi Yuval,

For some reason the YamlConfigurationFactory is not correctly loaded and
the fallback XmlConfigurationFactory is used unsuccessfully.
You could try to force DEBUG on that YamlConfigurationFactory and check for
some output like
"Missing dependencies for Yaml support, ConfigurationFactory {} is inactive"

In particular, it checks for these classes
"com.fasterxml.jackson.databind.ObjectMapper",
"com.fasterxml.jackson.databind.JsonNode",
"com.fasterxml.jackson.core.JsonParser",
"com.fasterxml.jackson.dataformat.yaml.YAMLFactory"

I'm assuming that with improved classloader separation, you actually need
to put your dependency into `lib/` instead of putting it into your user
jar. But I'm pulling in @Chesnay Schepler <ches...@apache.org> who has much
more insights.

On Sun, Jul 4, 2021 at 9:45 PM Yuval Itzchakov <yuva...@gmail.com> wrote:

> Hi,
>
> I am attempting to upgrade Flink from 1.9 to 1.13.1
> I am using a YAML based log4j file. In 1.9, it worked perfectly fine by
> adding the following dependency to the classpath (I deploy with an uber
> JAR):
>
> "com.fasterxml.jackson.dataformat" % "jackson-dataformat-yaml"          %
> "2.12.3"
>
> However, with Flink 1.13.1 I get the following error at runtime (only when
> running in a Cluster, running locally works fine):
>
>
>
> *flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager [Fatal Error] log4j2.yaml:1:1: Content is not allowed in
> prolog.flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager ERROR StatusLogger Error parsing
> /opt/foo/conf/log4j2.yamlflink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager  org.xml.sax.SAXParseException; systemId:
> file:///opt/foo/conf/log4j2.yaml; lineNumber: 1; columnNumber: 1; Content
> is not allowed in prolog.*
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:261)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.config.xml.XmlConfiguration.<init>(XmlConfiguration.java:92)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory.getConfiguration(XmlConfigurationFactory.java:46)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:458)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:385)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:293)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:647)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:668)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.LogManager.getContext(LogManager.java:155)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:45)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:30)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:329)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:349)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager at
> org.apache.flink.runtime.util.bash.BashJavaUtils.<clinit>(BashJavaUtils.java:45)
> flink-aamtr-a11e58230095d9390e8547eccb0290d4-27ef11e7-tm-6r8dfx
> taskmanager ERROR StatusLogger No logging configuration
>
> This indicates that for some reason, the jackson dataformat YAML library
> is not getting properly loaded from my uber JAR at runtime.
>
> Has anyone run into this? Any possible workarounds?
> --
> Best Regards,
> Yuval Itzchakov.
>

Reply via email to