Scala 2.12
Java 11
Flink 1.13.2
Running in Kubernetes

Hi,

While trying to use a configuration with JSONLayout in log4j2 with XML
format, we receive the following error when bootstrapping the JM / TM:

flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
Exception in thread "main" java.lang.NoClassDefFoundError:
com/fasterxml/jackson/databind/ser/FilterProvider
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.layout.JsonLayout.<init>(JsonLayout.java:158)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.layout.JsonLayout.<init>(JsonLayout.java:69)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.layout.JsonLayout$Builder.build(JsonLayout.java:102)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.layout.JsonLayout$Builder.build(JsonLayout.java:77)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:579)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:651)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:668)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:155)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:45)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:30)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:329)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:349)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
org.apache.flink.runtime.util.bash.BashJavaUtils.<clinit>(BashJavaUtils.java:45)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
Caused by: java.lang.ClassNotFoundException:
com.fasterxml.jackson.databind.ser.FilterProvider
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
flink-adte-f7925524a2d37c92873ff0020dcd46c3-22b605b8-jm-946v7qt jobmanager
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

According to
https://stackoverflow.com/questions/65062081/java-lang-classnotfoundexception-com-fasterxml-jackson-databind-ser-filterprovi,
this happens due to the fact the JM / TM start with a modified classpath
that doesn't include jackson-databind.

While I could add the jars explicitly to the `lib/` directory in the
Dockerfile, this is pretty annoying to maintain as versions evolve. Is
there any other workaround for this? or an open issue?

-- 
Best Regards,
Yuval Itzchakov.

Reply via email to