[ 
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]

Reply via email to