[
https://issues.apache.org/jira/browse/CASSANDRA-17474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17511799#comment-17511799
]
Tobias Gustafsson commented on CASSANDRA-17474:
-----------------------------------------------
Sure, a custom logback config file is used (attached). I tried running with the
standard config and it does, indeed, not crash.
This is what the command line looks like:
{code}
/usr/bin/java -Dcassandra.skip_wait_for_gossip_to_settle=0
-Dcassandra.max_queued_native_transport_requests=1024
-Dcassandra.disable_max_protocol_auto_override=t
rue
-javaagent:/jmx_prometheus_agent.jar=3042:/apache-cassandra-3.11.12/conf/prometheus-config.yaml
-Xloggc:/apache-cassandra-3.11.12/logs/gc.log -ea -XX:+UseThreadPriorities
-XX:Thr
eadPriorityPolicy=42 -XX:+HeapDumpOnOutOfMemoryError -Xss256k
-XX:StringTableSize=1000003 -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB
-XX:+UseNUMA -XX:+PerfDisableSharedMem -D
java.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1
-XX:CMSInitiatingOccupancyFraction
=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSWaitDuration=10000
-XX:+CMSParallelInitialMarkEnabled -XX:+CMSEdenChunksRecordAlways
-XX:+CMSClassUnloadingEnabled -XX:+PrintGCDetails -
XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles
=10 -XX:GCLogFileSize=10M -Xms512M -Xmx512M -Xmn100M -XX:+UseCondCardMark
-XX:CompileCommandFile=/apache-cassandra-3.11.12/conf/hotspot_compiler
-javaagent:/apache-cassandra-3.11.12/
lib/jamm-0.3.0.jar -Dcassandra.jmx.local.port=7199
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password
-D
java.library.path=/apache-cassandra-3.11.12/lib/sigar-bin
-XX:OnOutOfMemoryError=kill -9 %p -Dlogback.configurationFile=logback.xml
-Dcassandra.logdir=/apache-cassandra-3.11.12/logs
-Dcassandra.storagedir=/apache-cassandra-3.11.12/data
-Dcassandra-foreground=yes -cp
/apache-cassandra-3.11.12/conf:/apache-cassandra-3.11.12/build/classes/main:/apache-cassandra-3.1
1.12/build/classes/thrift:/apache-cassandra-3.11.12/lib/HdrHistogram-2.1.9.jar:/apache-cassandra-3.11.12/lib/ST4-4.0.8.jar:/apache-cassandra-3.11.12/lib/airline-0.6.jar:/apache-cassa
ndra-3.11.12/lib/antlr-runtime-3.5.2.jar:/apac
{code}
Let me know if more info is needed.
> Failed to instantiate SLF4J LoggerFactory in Cassandra 3.11.12
> --------------------------------------------------------------
>
> Key: CASSANDRA-17474
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17474
> Project: Cassandra
> Issue Type: Bug
> Reporter: Tobias Gustafsson
> Priority: Normal
> Attachments: logback.xml
>
>
> After upgrading to 3.11.12, Cassandra crashes on startup because of a class
> that cannot be found in slf4j.
> {code}
> Failed to instantiate SLF4J LoggerFactory
> Reported exception:
> java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
> at java.lang.Class.privateGetPublicMethods(Class.java:2902)
> at java.lang.Class.getMethods(Class.java:1615)
> at
> ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory.create(BeanDescriptionFactory.java:35)
> at
> ch.qos.logback.core.joran.util.beans.BeanDescriptionCache.getBeanDescription(BeanDescriptionCache.java:47)
> at
> ch.qos.logback.core.joran.util.PropertySetter.<init>(PropertySetter.java:68)
> at
> ch.qos.logback.core.joran.action.NestedComplexPropertyIA.isApplicable(NestedComplexPropertyIA.java:65)
> at
> ch.qos.logback.core.joran.spi.Interpreter.lookupImplicitAction(Interpreter.java:233)
> at
> ch.qos.logback.core.joran.spi.Interpreter.getApplicableActionList(Interpreter.java:252)
> at
> ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:142)
> at
> ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128)
> at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
> at
> ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:65)
> at
> ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:140)
> at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
> at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
> at org.slf4j.LoggerFactory.bind(LoggerFactory.java:129)
> at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
> at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:302)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:276)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)
> at
> org.apache.cassandra.service.CassandraDaemon.<clinit>(CassandraDaemon.java:117)
> Caused by: java.lang.ClassNotFoundException: org.slf4j.event.LoggingEvent
> at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
> ... 27 more
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/slf4j/event/LoggingEvent
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
> at java.lang.Class.privateGetPublicMethods(Class.java:2902)
> at java.lang.Class.getMethods(Class.java:1615)
> at
> ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory.create(BeanDescriptionFactory.java:35)
> at
> ch.qos.logback.core.joran.util.beans.BeanDescriptionCache.getBeanDescription(BeanDescriptionCache.java:47)
> at
> ch.qos.logback.core.joran.util.PropertySetter.<init>(PropertySetter.java:68)
> at
> ch.qos.logback.core.joran.action.NestedComplexPropertyIA.isApplicable(NestedComplexPropertyIA.java:65)
> at
> ch.qos.logback.core.joran.spi.Interpreter.lookupImplicitAction(Interpreter.java:233)
> at
> ch.qos.logback.core.joran.spi.Interpreter.getApplicableActionList(Interpreter.java:252)
> at
> ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:142)
> at
> ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128)
> at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
> at
> ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
> at
> ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:65)
> at
> ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:140)
> at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
> at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
> at org.slf4j.LoggerFactory.bind(LoggerFactory.java:129)
> at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
> at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:302)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:276)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)
> at
> org.apache.cassandra.service.CassandraDaemon.<clinit>(CassandraDaemon.java:117)
> Caused by: java.lang.ClassNotFoundException: org.slf4j.event.LoggingEvent
> at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
> ... 27 more
> {code}
> It seems like the version of logback introduced in
> https://issues.apache.org/jira/browse/CASSANDRA-17204 requires a more up to
> date version of slf4j-api.jar than what is currently shipped with Cassandra
> (see https://www.slf4j.org/codes.html#log4j_version).
> Replacing the shipped version (1.7.7) with the most recent 1.7.X (1.7.36 at
> the time of this writing) seemingly solves the problem.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]