diff --git a/.build/parent-pom-template.xml b/.build/parent-pom-template.xml
index 2bb3c26927..714f18b8e5 100644
--- a/.build/parent-pom-template.xml
+++ b/.build/parent-pom-template.xml
@@ -403,27 +403,27 @@
org.slf4j
slf4j-api
- 1.7.36
+ 2.0.17
org.slf4j
log4j-over-slf4j
- 1.7.36
+ 2.0.17
org.slf4j
jcl-over-slf4j
- 1.7.36
+ 2.0.17
ch.qos.logback
logback-core
- 1.2.12
+ 1.5.18
ch.qos.logback
logback-classic
- 1.2.12
+ 1.5.18
com.fasterxml.jackson.core
diff --git a/CHANGES.txt b/CHANGES.txt
index f076f8a5d1..4fa6658839 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
5.1
+ * Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 (CASSANDRA-20429)
* Switch memtable-related off-heap objects to Native Endian and Memory to Little Endian (CASSANDRA-20190)
* Change SSTableSimpleScanner to use SSTableReader#openDataReaderForScan (CASSANDRA-20538)
* Automated Repair Inside Cassandra [CEP-37] (CASSANDRA-19918)
diff --git a/conf/logback.xml b/conf/logback.xml
index a8dabf6564..4855433b99 100644
--- a/conf/logback.xml
+++ b/conf/logback.xml
@@ -23,8 +23,6 @@ appender reference in the root level section below.
-->
-
-
@@ -43,7 +41,7 @@ appender reference in the root level section below.
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
@@ -60,7 +58,7 @@ appender reference in the root level section below.
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
@@ -80,7 +78,7 @@ appender reference in the root level section below.
INFO
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
@@ -98,7 +96,7 @@ appender reference in the root level section below.
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
-->
diff --git a/doc/modules/cassandra/pages/managing/configuration/cass_logback_xml_file.adoc b/doc/modules/cassandra/pages/managing/configuration/cass_logback_xml_file.adoc
index b6e4d5f545..73cae5b545 100644
--- a/doc/modules/cassandra/pages/managing/configuration/cass_logback_xml_file.adoc
+++ b/doc/modules/cassandra/pages/managing/configuration/cass_logback_xml_file.adoc
@@ -76,8 +76,8 @@ the rolling policy.
Specify the format of the message. Part of the rolling policy.
-*Example:* 7 *Example:*
-%-5level [%thread] %date\{ISO8601} %F:%L - %msg%n
+*Example:*
+%-5level [%thread] %date\{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
=== Logging system logs to Cassandra virtual table
@@ -172,7 +172,6 @@ A reader noticed that by placing custom appender implementation of `SLOW_QUERIES
[source,XML]
----
-
@@ -192,7 +191,7 @@ A reader noticed that by placing custom appender implementation of `SLOW_QUERIES
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
@@ -209,7 +208,7 @@ A reader noticed that by placing custom appender implementation of `SLOW_QUERIES
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
@@ -229,7 +228,7 @@ A reader noticed that by placing custom appender implementation of `SLOW_QUERIES
INFO
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
diff --git a/doc/modules/cassandra/pages/managing/operating/audit_logging.adoc b/doc/modules/cassandra/pages/managing/operating/audit_logging.adoc
index 63f4ba1a11..c50c9785dc 100644
--- a/doc/modules/cassandra/pages/managing/operating/audit_logging.adoc
+++ b/doc/modules/cassandra/pages/managing/operating/audit_logging.adoc
@@ -213,7 +213,7 @@ the audit log events to flow through separate log file instead of system.log.
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
diff --git a/ide/nbproject/project.xml b/ide/nbproject/project.xml
index 0a000a9ab6..f770d1e68d 100644
--- a/ide/nbproject/project.xml
+++ b/ide/nbproject/project.xml
@@ -8,7 +8,7 @@
..
- ${project.dir}/build/lib/jars/AmazonCorrettoCryptoProvider-2.2.0-linux-aarch_64.jar:${project.dir}/build/lib/jars/HdrHistogram-2.1.12.jar:${project.dir}/build/lib/jars/ST4-4.0.8.jar:${project.dir}/build/lib/jars/affinity-3.23.3.jar:${project.dir}/build/lib/jars/agrona-1.17.1.jar:${project.dir}/build/lib/jars/airline-0.8.jar:${project.dir}/build/lib/jars/antlr-3.5.2.jar:${project.dir}/build/lib/jars/antlr-runtime-3.5.2.jar:${project.dir}/build/lib/jars/asm-9.4.jar:${project.dir}/build/lib/jars/bcpkix-jdk18on-1.76.jar:${project.dir}/build/lib/jars/bcprov-jdk18on-1.76.jar:${project.dir}/build/lib/jars/bcutil-jdk18on-1.76.jar:${project.dir}/build/lib/jars/big-math-2.3.0.jar:${project.dir}/build/lib/jars/byteman-4.0.20.jar:${project.dir}/build/lib/jars/byteman-bmunit-4.0.20.jar:${project.dir}/build/lib/jars/byteman-install-4.0.20.jar:${project.dir}/build/lib/jars/byteman-submit-4.0.20.jar:${project.dir}/build/lib/jars/caffeine-3.1.8.jar:${project.dir}/build/lib/jars/cassandra-driver-core-3.11.5-shaded.jar:${project.dir}/build/lib/jars/chronicle-bytes-2.23.33.jar:${project.dir}/build/lib/jars/chronicle-core-2.23.36.jar:${project.dir}/build/lib/jars/chronicle-queue-5.23.37.jar:${project.dir}/build/lib/jars/chronicle-threads-2.23.25.jar:${project.dir}/build/lib/jars/chronicle-wire-2.23.39.jar:${project.dir}/build/lib/jars/commons-cli-1.5.0.jar:${project.dir}/build/lib/jars/commons-lang3-3.13.0.jar:${project.dir}/build/lib/jars/commons-math3-3.2.jar:${project.dir}/build/lib/jars/compile-command-annotations-1.2.0.jar:${project.dir}/build/lib/jars/concurrent-trees-2.4.0.jar:${project.dir}/build/lib/jars/ecj-3.33.0.jar:${project.dir}/build/lib/jars/failureaccess-1.0.1.jar:${project.dir}/build/lib/jars/guava-32.0.1-jre.jar:${project.dir}/build/lib/jars/high-scale-lib-1.0.6.jar:${project.dir}/build/lib/jars/hppc-0.8.1.jar:${project.dir}/build/lib/jars/ipaddress-5.3.3.jar:${project.dir}/build/lib/jars/j2objc-annotations-1.3.jar:${project.dir}/build/lib/jars/jackson-annotations-2.15.3.jar:${project.dir}/build/lib/jars/jackson-core-2.15.3.jar:${project.dir}/build/lib/jars/jackson-databind-2.15.3.jar:${project.dir}/build/lib/jars/jackson-datatype-jsr310-2.15.3.jar:${project.dir}/build/lib/jars/jacocoagent.jar:${project.dir}/build/lib/jars/jamm-0.4.0.jar:${project.dir}/build/lib/jars/javax.inject-1.jar:${project.dir}/build/lib/jars/jbcrypt-0.4.jar:${project.dir}/build/lib/jars/jcl-over-slf4j-1.7.36.jar:${project.dir}/build/lib/jars/jcommander-1.30.jar:${project.dir}/build/lib/jars/jctools-core-3.1.0.jar:${project.dir}/build/lib/jars/jffi-1.3.11-native.jar:${project.dir}/build/lib/jars/jffi-1.3.11.jar:${project.dir}/build/lib/jars/jna-5.13.0.jar:${project.dir}/build/lib/jars/jna-platform-5.13.0.jar:${project.dir}/build/lib/jars/jnr-a64asm-1.0.0.jar:${project.dir}/build/lib/jars/jnr-constants-0.10.4.jar:${project.dir}/build/lib/jars/jnr-ffi-2.2.13.jar:${project.dir}/build/lib/jars/jnr-x86asm-1.0.2.jar:${project.dir}/build/lib/jars/jsr305-2.0.2.jar:${project.dir}/build/lib/jars/jvector-1.0.2.jar:${project.dir}/build/lib/jars/jvm-attach-api-1.5.jar:${project.dir}/build/lib/jars/log4j-over-slf4j-1.7.36.jar:${project.dir}/build/lib/jars/logback-classic-1.2.12.jar:${project.dir}/build/lib/jars/logback-core-1.2.12.jar:${project.dir}/build/lib/jars/lucene-analysis-common-9.7.0.jar:${project.dir}/build/lib/jars/lucene-core-9.7.0.jar:${project.dir}/build/lib/jars/lz4-java-1.8.0.jar:${project.dir}/build/lib/jars/metrics-core-4.2.19.jar:${project.dir}/build/lib/jars/metrics-jvm-4.2.19.jar:${project.dir}/build/lib/jars/metrics-logback-4.2.19.jar:${project.dir}/build/lib/jars/mxdump-0.14.jar:${project.dir}/build/lib/jars/netty-all-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-buffer-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-codec-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-common-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-handler-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-handler-proxy-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-handler-ssl-ocsp-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-resolver-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-linux-aarch_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-linux-x86_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-osx-aarch_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-osx-x86_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-windows-x86_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final.jar:${project.dir}/build/lib/jars/netty-tcnative-classes-2.0.61.Final.jar:${project.dir}/build/lib/jars/netty-transport-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-classes-epoll-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-classes-kqueue-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-native-epoll-4.1.96.Final-linux-aarch_64.jar:${project.dir}/build/lib/jars/netty-transport-native-epoll-4.1.96.Final-linux-x86_64.jar:${project.dir}/build/lib/jars/netty-transport-native-epoll-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-native-unix-common-4.1.96.Final.jar:${project.dir}/build/lib/jars/ohc-core-0.5.1.jar:${project.dir}/build/lib/jars/ohc-core-j8-0.5.1.jar:${project.dir}/build/lib/jars/oshi-core-6.4.8.jar:${project.dir}/build/lib/jars/posix-2.24ea4.jar:${project.dir}/build/lib/jars/psjava-0.1.19.jar:${project.dir}/build/lib/jars/semver4j-3.1.0.jar:${project.dir}/build/lib/jars/sjk-cli-0.14.jar:${project.dir}/build/lib/jars/sjk-core-0.14.jar:${project.dir}/build/lib/jars/sjk-json-0.14.jar:${project.dir}/build/lib/jars/sjk-stacktrace-0.14.jar:${project.dir}/build/lib/jars/slf4j-api-1.7.36.jar:${project.dir}/build/lib/jars/snakeyaml-2.1.jar:${project.dir}/build/lib/jars/snappy-java-1.1.10.4.jar:${project.dir}/build/lib/jars/stream-2.5.2.jar:${project.dir}/build/lib/jars/zstd-jni-1.5.7-2.jar:${project.dir}/build/test/lib/jars/Saxon-HE-12.2.jar:${project.dir}/build/test/lib/jars/accessors-smart-2.4.7.jar:${project.dir}/build/test/lib/jars/ant-1.10.12.jar:${project.dir}/build/test/lib/jars/ant-junit-1.10.12.jar:${project.dir}/build/test/lib/jars/ant-launcher-1.10.12.jar:${project.dir}/build/test/lib/jars/antlr4-runtime-4.11.1.jar:${project.dir}/build/test/lib/jars/asm-9.4.jar:${project.dir}/build/test/lib/jars/asm-analysis-9.4.jar:${project.dir}/build/test/lib/jars/asm-commons-9.4.jar:${project.dir}/build/test/lib/jars/asm-tree-9.4.jar:${project.dir}/build/test/lib/jars/asm-util-9.4.jar:${project.dir}/build/test/lib/jars/asm-xml-6.0.jar:${project.dir}/build/test/lib/jars/assertj-core-3.24.2.jar:${project.dir}/build/test/lib/jars/awaitility-4.0.3.jar:${project.dir}/build/test/lib/jars/byte-buddy-1.12.21.jar:${project.dir}/build/test/lib/jars/byte-buddy-agent-1.12.13.jar:${project.dir}/build/test/lib/jars/checker-qual-3.27.0.jar:${project.dir}/build/test/lib/jars/checkstyle-10.12.1.jar:${project.dir}/build/test/lib/jars/commons-beanutils-1.9.4.jar:${project.dir}/build/test/lib/jars/commons-codec-1.15.jar:${project.dir}/build/test/lib/jars/commons-collections-3.2.2.jar:${project.dir}/build/test/lib/jars/commons-fileupload-1.4.jar:${project.dir}/build/test/lib/jars/commons-io-2.11.0.jar:${project.dir}/build/test/lib/jars/commons-lang3-3.12.0.jar:${project.dir}/build/test/lib/jars/commons-logging-1.2.jar:${project.dir}/build/test/lib/jars/commons-math3-3.6.1.jar:${project.dir}/build/test/lib/jars/dtest-api-0.0.16.jar:${project.dir}/build/test/lib/jars/error_prone_annotations-2.2.0.jar:${project.dir}/build/test/lib/jars/failureaccess-1.0.1.jar:${project.dir}/build/test/lib/jars/guava-32.0.1-jre.jar:${project.dir}/build/test/lib/jars/guava-testlib-27.0-jre.jar:${project.dir}/build/test/lib/jars/hamcrest-2.2.jar:${project.dir}/build/test/lib/jars/hamcrest-core-2.2.jar:${project.dir}/build/test/lib/jars/handlebars-4.3.1.jar:${project.dir}/build/test/lib/jars/handlebars-helpers-4.3.1.jar:${project.dir}/build/test/lib/jars/http2-common-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/http2-hpack-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/http2-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/httpclient5-5.1.3.jar:${project.dir}/build/test/lib/jars/httpcore5-5.1.3.jar:${project.dir}/build/test/lib/jars/httpcore5-h2-5.1.3.jar:${project.dir}/build/test/lib/jars/j2objc-annotations-1.1.jar:${project.dir}/build/test/lib/jars/jackson-annotations-2.13.4.jar:${project.dir}/build/test/lib/jars/jackson-core-2.15.3.jar:${project.dir}/build/test/lib/jars/jackson-databind-2.15.3.jar:${project.dir}/build/test/lib/jars/jackson-dataformat-yaml-2.15.3.jar:${project.dir}/build/test/lib/jars/jakarta.activation-api-1.2.2.jar:${project.dir}/build/test/lib/jars/jakarta.xml.bind-api-2.3.3.jar:${project.dir}/build/test/lib/jars/java-allocation-instrumenter-3.1.0.jar:${project.dir}/build/test/lib/jars/java-cup-runtime-11b-20160615.jar:${project.dir}/build/test/lib/jars/javassist-3.28.0-GA.jar:${project.dir}/build/test/lib/jars/javax.servlet-api-3.1.0.jar:${project.dir}/build/test/lib/jars/jetty-alpn-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-java-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-java-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-openjdk8-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-openjdk8-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-continuation-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-http-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-io-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-proxy-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-security-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-servlet-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-servlets-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-util-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-util-ajax-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-webapp-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-xml-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jflex-1.8.2.jar:${project.dir}/build/test/lib/jars/jimfs-1.1.jar:${project.dir}/build/test/lib/jars/jmh-core-1.37.jar:${project.dir}/build/test/lib/jars/jmh-generator-annprocess-1.37.jar:${project.dir}/build/test/lib/jars/jopt-simple-5.0.4.jar:${project.dir}/build/test/lib/jars/json-path-2.7.0.jar:${project.dir}/build/test/lib/jars/json-smart-2.4.7.jar:${project.dir}/build/test/lib/jars/json-unit-core-2.36.0.jar:${project.dir}/build/test/lib/jars/jsr305-3.0.2.jar:${project.dir}/build/test/lib/jars/junit-4.12.jar:${project.dir}/build/test/lib/jars/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:${project.dir}/build/test/lib/jars/mockito-core-4.7.0.jar:${project.dir}/build/test/lib/jars/mockito-inline-4.7.0.jar:${project.dir}/build/test/lib/jars/objenesis-3.2.jar:${project.dir}/build/test/lib/jars/org.jacoco.agent-0.8.8.jar:${project.dir}/build/test/lib/jars/org.jacoco.ant-0.8.8.jar:${project.dir}/build/test/lib/jars/org.jacoco.core-0.8.8.jar:${project.dir}/build/test/lib/jars/org.jacoco.report-0.8.8.jar:${project.dir}/build/test/lib/jars/picocli-4.7.4.jar:${project.dir}/build/test/lib/jars/quicktheories-0.26.jar:${project.dir}/build/test/lib/jars/randomizedtesting-runner-2.1.2.jar:${project.dir}/build/test/lib/jars/reflections-0.10.2.jar:${project.dir}/build/test/lib/jars/semver4j-3.1.0.jar:${project.dir}/build/test/lib/jars/simulator-asm.jar:${project.dir}/build/test/lib/jars/simulator-bootstrap.jar:${project.dir}/build/test/lib/jars/slf4j-api-1.7.32.jar:${project.dir}/build/test/lib/jars/wiremock-jre8-2.35.0.jar:${project.dir}/build/test/lib/jars/xmlresolver-5.1.2-data.jar:${project.dir}/build/test/lib/jars/xmlresolver-5.1.2.jar:${project.dir}/build/test/lib/jars/xmlunit-core-2.9.0.jar:${project.dir}/build/test/lib/jars/xmlunit-legacy-2.9.0.jar:${project.dir}/build/test/lib/jars/xmlunit-placeholders-2.9.0.jar:
+ ${project.dir}/build/lib/jars/AmazonCorrettoCryptoProvider-2.2.0-linux-aarch_64.jar:${project.dir}/build/lib/jars/HdrHistogram-2.1.12.jar:${project.dir}/build/lib/jars/ST4-4.0.8.jar:${project.dir}/build/lib/jars/affinity-3.23.3.jar:${project.dir}/build/lib/jars/agrona-1.17.1.jar:${project.dir}/build/lib/jars/airline-0.8.jar:${project.dir}/build/lib/jars/antlr-3.5.2.jar:${project.dir}/build/lib/jars/antlr-runtime-3.5.2.jar:${project.dir}/build/lib/jars/asm-9.4.jar:${project.dir}/build/lib/jars/bcpkix-jdk18on-1.76.jar:${project.dir}/build/lib/jars/bcprov-jdk18on-1.76.jar:${project.dir}/build/lib/jars/bcutil-jdk18on-1.76.jar:${project.dir}/build/lib/jars/big-math-2.3.0.jar:${project.dir}/build/lib/jars/byteman-4.0.20.jar:${project.dir}/build/lib/jars/byteman-bmunit-4.0.20.jar:${project.dir}/build/lib/jars/byteman-install-4.0.20.jar:${project.dir}/build/lib/jars/byteman-submit-4.0.20.jar:${project.dir}/build/lib/jars/caffeine-3.1.8.jar:${project.dir}/build/lib/jars/cassandra-driver-core-3.11.5-shaded.jar:${project.dir}/build/lib/jars/chronicle-bytes-2.23.33.jar:${project.dir}/build/lib/jars/chronicle-core-2.23.36.jar:${project.dir}/build/lib/jars/chronicle-queue-5.23.37.jar:${project.dir}/build/lib/jars/chronicle-threads-2.23.25.jar:${project.dir}/build/lib/jars/chronicle-wire-2.23.39.jar:${project.dir}/build/lib/jars/commons-cli-1.5.0.jar:${project.dir}/build/lib/jars/commons-lang3-3.13.0.jar:${project.dir}/build/lib/jars/commons-math3-3.2.jar:${project.dir}/build/lib/jars/compile-command-annotations-1.2.0.jar:${project.dir}/build/lib/jars/concurrent-trees-2.4.0.jar:${project.dir}/build/lib/jars/ecj-3.33.0.jar:${project.dir}/build/lib/jars/failureaccess-1.0.1.jar:${project.dir}/build/lib/jars/guava-32.0.1-jre.jar:${project.dir}/build/lib/jars/high-scale-lib-1.0.6.jar:${project.dir}/build/lib/jars/hppc-0.8.1.jar:${project.dir}/build/lib/jars/ipaddress-5.3.3.jar:${project.dir}/build/lib/jars/j2objc-annotations-1.3.jar:${project.dir}/build/lib/jars/jackson-annotations-2.15.3.jar:${project.dir}/build/lib/jars/jackson-core-2.15.3.jar:${project.dir}/build/lib/jars/jackson-databind-2.15.3.jar:${project.dir}/build/lib/jars/jackson-datatype-jsr310-2.15.3.jar:${project.dir}/build/lib/jars/jacocoagent.jar:${project.dir}/build/lib/jars/jamm-0.4.0.jar:${project.dir}/build/lib/jars/javax.inject-1.jar:${project.dir}/build/lib/jars/jbcrypt-0.4.jar:${project.dir}/build/lib/jars/jcl-over-slf4j-2.0.17.jar:${project.dir}/build/lib/jars/jcommander-1.30.jar:${project.dir}/build/lib/jars/jctools-core-3.1.0.jar:${project.dir}/build/lib/jars/jffi-1.3.11-native.jar:${project.dir}/build/lib/jars/jffi-1.3.11.jar:${project.dir}/build/lib/jars/jna-5.13.0.jar:${project.dir}/build/lib/jars/jna-platform-5.13.0.jar:${project.dir}/build/lib/jars/jnr-a64asm-1.0.0.jar:${project.dir}/build/lib/jars/jnr-constants-0.10.4.jar:${project.dir}/build/lib/jars/jnr-ffi-2.2.13.jar:${project.dir}/build/lib/jars/jnr-x86asm-1.0.2.jar:${project.dir}/build/lib/jars/jsr305-2.0.2.jar:${project.dir}/build/lib/jars/jvector-1.0.2.jar:${project.dir}/build/lib/jars/jvm-attach-api-1.5.jar:${project.dir}/build/lib/jars/log4j-over-slf4j-2.0.17.jar:${project.dir}/build/lib/jars/logback-classic-1.5.18.jar:${project.dir}/build/lib/jars/logback-core-1.5.18.jar:${project.dir}/build/lib/jars/lucene-analysis-common-9.7.0.jar:${project.dir}/build/lib/jars/lucene-core-9.7.0.jar:${project.dir}/build/lib/jars/lz4-java-1.8.0.jar:${project.dir}/build/lib/jars/metrics-core-4.2.19.jar:${project.dir}/build/lib/jars/metrics-jvm-4.2.19.jar:${project.dir}/build/lib/jars/metrics-logback-4.2.19.jar:${project.dir}/build/lib/jars/mxdump-0.14.jar:${project.dir}/build/lib/jars/netty-all-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-buffer-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-codec-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-common-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-handler-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-handler-proxy-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-handler-ssl-ocsp-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-resolver-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-linux-aarch_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-linux-x86_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-osx-aarch_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-osx-x86_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final-windows-x86_64.jar:${project.dir}/build/lib/jars/netty-tcnative-boringssl-static-2.0.61.Final.jar:${project.dir}/build/lib/jars/netty-tcnative-classes-2.0.61.Final.jar:${project.dir}/build/lib/jars/netty-transport-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-classes-epoll-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-classes-kqueue-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-native-epoll-4.1.96.Final-linux-aarch_64.jar:${project.dir}/build/lib/jars/netty-transport-native-epoll-4.1.96.Final-linux-x86_64.jar:${project.dir}/build/lib/jars/netty-transport-native-epoll-4.1.96.Final.jar:${project.dir}/build/lib/jars/netty-transport-native-unix-common-4.1.96.Final.jar:${project.dir}/build/lib/jars/ohc-core-0.5.1.jar:${project.dir}/build/lib/jars/ohc-core-j8-0.5.1.jar:${project.dir}/build/lib/jars/oshi-core-6.4.8.jar:${project.dir}/build/lib/jars/posix-2.24ea4.jar:${project.dir}/build/lib/jars/psjava-0.1.19.jar:${project.dir}/build/lib/jars/semver4j-3.1.0.jar:${project.dir}/build/lib/jars/sjk-cli-0.14.jar:${project.dir}/build/lib/jars/sjk-core-0.14.jar:${project.dir}/build/lib/jars/sjk-json-0.14.jar:${project.dir}/build/lib/jars/sjk-stacktrace-0.14.jar:${project.dir}/build/lib/jars/slf4j-api-2.0.17.jar:${project.dir}/build/lib/jars/snakeyaml-2.1.jar:${project.dir}/build/lib/jars/snappy-java-1.1.10.4.jar:${project.dir}/build/lib/jars/stream-2.5.2.jar:${project.dir}/build/lib/jars/zstd-jni-1.5.7-2.jar:${project.dir}/build/test/lib/jars/Saxon-HE-12.2.jar:${project.dir}/build/test/lib/jars/accessors-smart-2.4.7.jar:${project.dir}/build/test/lib/jars/ant-1.10.12.jar:${project.dir}/build/test/lib/jars/ant-junit-1.10.12.jar:${project.dir}/build/test/lib/jars/ant-launcher-1.10.12.jar:${project.dir}/build/test/lib/jars/antlr4-runtime-4.11.1.jar:${project.dir}/build/test/lib/jars/asm-9.4.jar:${project.dir}/build/test/lib/jars/asm-analysis-9.4.jar:${project.dir}/build/test/lib/jars/asm-commons-9.4.jar:${project.dir}/build/test/lib/jars/asm-tree-9.4.jar:${project.dir}/build/test/lib/jars/asm-util-9.4.jar:${project.dir}/build/test/lib/jars/asm-xml-6.0.jar:${project.dir}/build/test/lib/jars/assertj-core-3.24.2.jar:${project.dir}/build/test/lib/jars/awaitility-4.0.3.jar:${project.dir}/build/test/lib/jars/byte-buddy-1.12.21.jar:${project.dir}/build/test/lib/jars/byte-buddy-agent-1.12.13.jar:${project.dir}/build/test/lib/jars/checker-qual-3.27.0.jar:${project.dir}/build/test/lib/jars/checkstyle-10.12.1.jar:${project.dir}/build/test/lib/jars/commons-beanutils-1.9.4.jar:${project.dir}/build/test/lib/jars/commons-codec-1.15.jar:${project.dir}/build/test/lib/jars/commons-collections-3.2.2.jar:${project.dir}/build/test/lib/jars/commons-fileupload-1.4.jar:${project.dir}/build/test/lib/jars/commons-io-2.11.0.jar:${project.dir}/build/test/lib/jars/commons-lang3-3.12.0.jar:${project.dir}/build/test/lib/jars/commons-logging-1.2.jar:${project.dir}/build/test/lib/jars/commons-math3-3.6.1.jar:${project.dir}/build/test/lib/jars/dtest-api-0.0.16.jar:${project.dir}/build/test/lib/jars/error_prone_annotations-2.2.0.jar:${project.dir}/build/test/lib/jars/failureaccess-1.0.1.jar:${project.dir}/build/test/lib/jars/guava-32.0.1-jre.jar:${project.dir}/build/test/lib/jars/guava-testlib-27.0-jre.jar:${project.dir}/build/test/lib/jars/hamcrest-2.2.jar:${project.dir}/build/test/lib/jars/hamcrest-core-2.2.jar:${project.dir}/build/test/lib/jars/handlebars-4.3.1.jar:${project.dir}/build/test/lib/jars/handlebars-helpers-4.3.1.jar:${project.dir}/build/test/lib/jars/http2-common-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/http2-hpack-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/http2-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/httpclient5-5.1.3.jar:${project.dir}/build/test/lib/jars/httpcore5-5.1.3.jar:${project.dir}/build/test/lib/jars/httpcore5-h2-5.1.3.jar:${project.dir}/build/test/lib/jars/j2objc-annotations-1.1.jar:${project.dir}/build/test/lib/jars/jackson-annotations-2.13.4.jar:${project.dir}/build/test/lib/jars/jackson-core-2.15.3.jar:${project.dir}/build/test/lib/jars/jackson-databind-2.15.3.jar:${project.dir}/build/test/lib/jars/jackson-dataformat-yaml-2.15.3.jar:${project.dir}/build/test/lib/jars/jakarta.activation-api-1.2.2.jar:${project.dir}/build/test/lib/jars/jakarta.xml.bind-api-2.3.3.jar:${project.dir}/build/test/lib/jars/java-allocation-instrumenter-3.1.0.jar:${project.dir}/build/test/lib/jars/java-cup-runtime-11b-20160615.jar:${project.dir}/build/test/lib/jars/javassist-3.28.0-GA.jar:${project.dir}/build/test/lib/jars/javax.servlet-api-3.1.0.jar:${project.dir}/build/test/lib/jars/jetty-alpn-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-java-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-java-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-openjdk8-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-openjdk8-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-alpn-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-client-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-continuation-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-http-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-io-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-proxy-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-security-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-server-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-servlet-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-servlets-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-util-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-util-ajax-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-webapp-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jetty-xml-9.4.49.v20220914.jar:${project.dir}/build/test/lib/jars/jflex-1.8.2.jar:${project.dir}/build/test/lib/jars/jimfs-1.1.jar:${project.dir}/build/test/lib/jars/jmh-core-1.37.jar:${project.dir}/build/test/lib/jars/jmh-generator-annprocess-1.37.jar:${project.dir}/build/test/lib/jars/jopt-simple-5.0.4.jar:${project.dir}/build/test/lib/jars/json-path-2.7.0.jar:${project.dir}/build/test/lib/jars/json-smart-2.4.7.jar:${project.dir}/build/test/lib/jars/json-unit-core-2.36.0.jar:${project.dir}/build/test/lib/jars/jsr305-3.0.2.jar:${project.dir}/build/test/lib/jars/junit-4.12.jar:${project.dir}/build/test/lib/jars/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:${project.dir}/build/test/lib/jars/mockito-core-4.7.0.jar:${project.dir}/build/test/lib/jars/mockito-inline-4.7.0.jar:${project.dir}/build/test/lib/jars/objenesis-3.2.jar:${project.dir}/build/test/lib/jars/org.jacoco.agent-0.8.8.jar:${project.dir}/build/test/lib/jars/org.jacoco.ant-0.8.8.jar:${project.dir}/build/test/lib/jars/org.jacoco.core-0.8.8.jar:${project.dir}/build/test/lib/jars/org.jacoco.report-0.8.8.jar:${project.dir}/build/test/lib/jars/picocli-4.7.4.jar:${project.dir}/build/test/lib/jars/quicktheories-0.26.jar:${project.dir}/build/test/lib/jars/randomizedtesting-runner-2.1.2.jar:${project.dir}/build/test/lib/jars/reflections-0.10.2.jar:${project.dir}/build/test/lib/jars/semver4j-3.1.0.jar:${project.dir}/build/test/lib/jars/simulator-asm.jar:${project.dir}/build/test/lib/jars/simulator-bootstrap.jar:${project.dir}/build/test/lib/jars/slf4j-api-1.7.32.jar:${project.dir}/build/test/lib/jars/wiremock-jre8-2.35.0.jar:${project.dir}/build/test/lib/jars/xmlresolver-5.1.2-data.jar:${project.dir}/build/test/lib/jars/xmlresolver-5.1.2.jar:${project.dir}/build/test/lib/jars/xmlunit-core-2.9.0.jar:${project.dir}/build/test/lib/jars/xmlunit-legacy-2.9.0.jar:${project.dir}/build/test/lib/jars/xmlunit-placeholders-2.9.0.jar:
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index e188595aa3..5d4781c546 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -586,7 +586,6 @@ public interface StorageServiceMBean extends NotificationEmitter
* If classQualifer is not empty but level is empty/null, it will set the level to null for the defined classQualifer
* If level cannot be parsed, then the level will be defaulted to DEBUG
*
- * The logback configuration should have {@code < jmxConfigurator />} set
*
* @param classQualifier The logger's classQualifer
* @param level The log level
diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java b/src/java/org/apache/cassandra/tools/NodeProbe.java
index 478fc0e55a..62d2d164c6 100644
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@ -2363,7 +2363,7 @@ public class NodeProbe implements AutoCloseable
}
catch (Exception e)
{
- throw new RuntimeException("Error setting log for " + classQualifier + " on level " + level + ". Please check logback configuration and ensure to have set", e);
+ throw new RuntimeException("Error setting log for " + classQualifier + " on level " + level + ". Please check logback configuration.", e);
}
}
diff --git a/src/java/org/apache/cassandra/utils/logging/LogbackLoggingSupport.java b/src/java/org/apache/cassandra/utils/logging/LogbackLoggingSupport.java
index f32963b73a..d8f83116bb 100644
--- a/src/java/org/apache/cassandra/utils/logging/LogbackLoggingSupport.java
+++ b/src/java/org/apache/cassandra/utils/logging/LogbackLoggingSupport.java
@@ -18,7 +18,6 @@
package org.apache.cassandra.utils.logging;
-import java.lang.management.ManagementFactory;
import java.security.AccessControlException;
import java.util.ArrayList;
import java.util.Iterator;
@@ -26,25 +25,21 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
-import javax.management.JMX;
-import javax.management.ObjectName;
-
-import org.apache.cassandra.security.ThreadAwareSecurityManager;
+import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.Maps;
-
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.jmx.JMXConfiguratorMBean;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.classic.spi.TurboFilterList;
import ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter;
import ch.qos.logback.classic.turbo.TurboFilter;
+import ch.qos.logback.classic.util.ContextInitializer;
import ch.qos.logback.core.Appender;
-import ch.qos.logback.core.hook.DelayingShutdownHook;
+import ch.qos.logback.core.hook.DefaultShutdownHook;
+import org.apache.cassandra.security.ThreadAwareSecurityManager;
/**
* Encapsulates all logback-specific implementations in a central place.
@@ -93,7 +88,7 @@ public class LogbackLoggingSupport implements LoggingSupport
@Override
public void onShutdown()
{
- DelayingShutdownHook logbackHook = new DelayingShutdownHook();
+ DefaultShutdownHook logbackHook = new DefaultShutdownHook();
logbackHook.setContext((LoggerContext) LoggerFactory.getILoggerFactory());
logbackHook.run();
}
@@ -106,10 +101,9 @@ public class LogbackLoggingSupport implements LoggingSupport
// if both classQualifier and rawLevel are empty, reload from configuration
if (StringUtils.isBlank(classQualifier) && StringUtils.isBlank(rawLevel))
{
- JMXConfiguratorMBean jmxConfiguratorMBean = JMX.newMBeanProxy(ManagementFactory.getPlatformMBeanServer(),
- new ObjectName("ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator"),
- JMXConfiguratorMBean.class);
- jmxConfiguratorMBean.reloadDefaultConfiguration();
+ LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
+ lc.reset();
+ new ContextInitializer(lc).autoConfig();
return;
}
// classQualifier is set, but blank level given
diff --git a/test/conf/logback-burntest.xml b/test/conf/logback-burntest.xml
index 3aada72e8f..f2ade83f2e 100644
--- a/test/conf/logback-burntest.xml
+++ b/test/conf/logback-burntest.xml
@@ -20,7 +20,7 @@
-
+
@@ -36,7 +36,7 @@
- %-5level [%thread] ${instance_id} %date{ISO8601} %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
false
@@ -51,7 +51,7 @@
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
diff --git a/test/conf/logback-dtest-quiet.xml b/test/conf/logback-dtest-quiet.xml
index bb9f983177..8f1f1f15fd 100644
--- a/test/conf/logback-dtest-quiet.xml
+++ b/test/conf/logback-dtest-quiet.xml
@@ -22,12 +22,12 @@
-
+
./build/test/logs/${cassandra.testtag}/${suitename}/${cluster_id}/${instance_id}/system.log
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
INFO
@@ -37,7 +37,7 @@
- %-5level %date{HH:mm:ss,SSS} %msg%n
+ %-5level %date{"HH:mm:ss,SSS"} %msg%n
ERROR
diff --git a/test/conf/logback-dtest.xml b/test/conf/logback-dtest.xml
index d854f8c771..22d2e9faa4 100644
--- a/test/conf/logback-dtest.xml
+++ b/test/conf/logback-dtest.xml
@@ -22,19 +22,19 @@
-
+
./build/test/logs/${cassandra.testtag}/${suitename}/${cluster_id}/${instance_id}/system.log
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
true
- %-5level %date{HH:mm:ss,SSS} %msg%n
+ %-5level %date{"HH:mm:ss,SSS"} %msg%n
WARN
@@ -43,7 +43,7 @@
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
DEBUG
diff --git a/test/conf/logback-dtest_with_slow_query_appender.xml b/test/conf/logback-dtest_with_slow_query_appender.xml
index 1b6ed7511f..62d112d800 100644
--- a/test/conf/logback-dtest_with_slow_query_appender.xml
+++ b/test/conf/logback-dtest_with_slow_query_appender.xml
@@ -21,19 +21,19 @@
-
+
./build/test/logs/${cassandra.testtag}/${suitename}/${cluster_id}/${instance_id}/system.log
- %-5level [%thread] ${instance_id} %date{ISO8601} %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
true
- %-5level %date{HH:mm:ss,SSS} %msg%n
+ %-5level %date{"HH:mm:ss,SSS"} %msg%n
WARN
@@ -42,7 +42,7 @@
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
DEBUG
diff --git a/test/conf/logback-dtest_with_slow_query_appender_invalid.xml b/test/conf/logback-dtest_with_slow_query_appender_invalid.xml
index a2252dd23a..1f7f58e861 100644
--- a/test/conf/logback-dtest_with_slow_query_appender_invalid.xml
+++ b/test/conf/logback-dtest_with_slow_query_appender_invalid.xml
@@ -21,19 +21,19 @@
-
+
./build/test/logs/${cassandra.testtag}/${suitename}/${cluster_id}/${instance_id}/system.log
- %-5level [%thread] ${instance_id} %date{ISO8601} %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
true
- %-5level %date{HH:mm:ss,SSS} %msg%n
+ %-5level %date{"HH:mm:ss,SSS"} %msg%n
WARN
@@ -42,7 +42,7 @@
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
DEBUG
diff --git a/test/conf/logback-dtest_with_vtable_appender.xml b/test/conf/logback-dtest_with_vtable_appender.xml
index c9fd108c77..726c46d524 100644
--- a/test/conf/logback-dtest_with_vtable_appender.xml
+++ b/test/conf/logback-dtest_with_vtable_appender.xml
@@ -21,19 +21,19 @@
-
+
./build/test/logs/${cassandra.testtag}/${suitename}/${cluster_id}/${instance_id}/system.log
- %-5level [%thread] ${instance_id} %date{ISO8601} %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
true
- %-5level %date{HH:mm:ss,SSS} %msg%n
+ %-5level %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
WARN
@@ -42,7 +42,7 @@
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
DEBUG
diff --git a/test/conf/logback-dtest_with_vtable_appender_invalid.xml b/test/conf/logback-dtest_with_vtable_appender_invalid.xml
index 1b30c141c2..257f857534 100644
--- a/test/conf/logback-dtest_with_vtable_appender_invalid.xml
+++ b/test/conf/logback-dtest_with_vtable_appender_invalid.xml
@@ -21,19 +21,19 @@
-
+
./build/test/logs/${cassandra.testtag}/${suitename}/${cluster_id}/${instance_id}/system.log
- %-5level [%thread] ${instance_id} %date{ISO8601} %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
true
- %-5level %date{HH:mm:ss,SSS} %msg%n
+ %-5level %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
WARN
@@ -42,7 +42,7 @@
- %-5level [%thread] ${instance_id} %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
DEBUG
diff --git a/test/conf/logback-jmh.xml b/test/conf/logback-jmh.xml
index 4138f19c72..1f9bb3fd1b 100644
--- a/test/conf/logback-jmh.xml
+++ b/test/conf/logback-jmh.xml
@@ -23,7 +23,6 @@ appender reference in the root level section below.
-->
-
@@ -42,7 +41,7 @@ appender reference in the root level section below.
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
@@ -59,7 +58,7 @@ appender reference in the root level section below.
5GB
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
@@ -79,7 +78,7 @@ appender reference in the root level section below.
INFO
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
diff --git a/test/conf/logback-simulator.xml b/test/conf/logback-simulator.xml
index fe823383ee..87d2ae327b 100644
--- a/test/conf/logback-simulator.xml
+++ b/test/conf/logback-simulator.xml
@@ -23,7 +23,7 @@
-
+
./build/test/logs/simulator/${run_start}-${run_seed}/history.log
@@ -41,14 +41,14 @@
./build/test/logs/simulator/${run_start}-${run_seed}/cluster-${cluster_id}/${instance_id}/system.log
- %-5level [%thread] ${instance_id} %replace(CS:%X{command_store} ){'CS\:\s+', ''}%replace(OP:%X{async_op} ){'OP\:\s+', ''}%date{ISO8601} %msg%n
+ %-5level [%thread] ${instance_id} %replace(CS:%X{command_store} ){'CS\:\s+', ''}%replace(OP:%X{async_op} ){'OP\:\s+', ''}%date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
true
- %-5level [%thread] ${instance_id} %replace(CS:%X{command_store} ){'CS\:\s+', ''}%replace(OP:%X{async_op} ){'OP\:\s+', ''}%date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] ${instance_id} %replace(CS:%X{command_store} ){'CS\:\s+', ''}%replace(OP:%X{async_op} ){'OP\:\s+', ''}%date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
WARN
diff --git a/test/conf/logback-test.xml b/test/conf/logback-test.xml
index 3e3349fd82..757806e35f 100644
--- a/test/conf/logback-test.xml
+++ b/test/conf/logback-test.xml
@@ -19,7 +19,7 @@
-
+
@@ -38,14 +38,14 @@
- %-5level [%thread] %date{ISO8601} %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %msg%n
false
- %-5level [%thread] %date{ISO8601} %F:%L - %msg%n
+ %-5level [%thread] %date{"yyyy-MM-dd'T'HH:mm:ss,SSS", UTC} %F:%L - %msg%n
DEBUG
diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 24afbb7e80..72bbc53b76 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@ -31,18 +31,8 @@ import java.util.TimeZone;
import java.util.concurrent.ThreadLocalRandom;
import org.apache.commons.lang3.time.DateUtils;
-
import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.joran.ReconfigureOnChangeTask;
-import ch.qos.logback.classic.spi.TurboFilterList;
-import ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter;
-import ch.qos.logback.classic.turbo.TurboFilter;
-import org.apache.cassandra.schema.SchemaConstants;
import org.apache.cassandra.cql3.CQLTester;
import org.apache.cassandra.cql3.QueryProcessor;
import org.apache.cassandra.cql3.UntypedResultSet;
@@ -51,13 +41,13 @@ import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.TypeParser;
import org.apache.cassandra.exceptions.FunctionExecutionException;
import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.schema.SchemaConstants;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.transport.Event.SchemaChange.Change;
import org.apache.cassandra.transport.Event.SchemaChange.Target;
import org.apache.cassandra.transport.ProtocolVersion;
import org.apache.cassandra.transport.messages.ResultMessage;
-import static ch.qos.logback.core.CoreConstants.RECONFIGURE_ON_CHANGE_TASK;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -1893,91 +1883,48 @@ public class AggregationTest extends CQLTester
{
// see https://issues.apache.org/jira/browse/CASSANDRA-11033
- // make logback's scan interval 1ms - boilerplate, but necessary for this test
- configureLogbackScanPeriod(1L);
- try
+ createTable("CREATE TABLE %s (" +
+ " year int PRIMARY KEY," +
+ " country text," +
+ " title text)");
+
+ String[] countries = Locale.getISOCountries();
+ ThreadLocalRandom rand = ThreadLocalRandom.current();
+ for (int i = 0; i < 10000; i++)
{
-
- createTable("CREATE TABLE %s (" +
- " year int PRIMARY KEY," +
- " country text," +
- " title text)");
-
- String[] countries = Locale.getISOCountries();
- ThreadLocalRandom rand = ThreadLocalRandom.current();
- for (int i = 0; i < 10000; i++)
- {
- execute("INSERT INTO %s (year, country, title) VALUES (1980,?,?)",
- countries[rand.nextInt(countries.length)],
- "title-" + i);
- }
-
- String albumCountByCountry = createFunction(KEYSPACE,
- "map,text,text",
- "CREATE FUNCTION IF NOT EXISTS %s(state map,country text, album_title text)\n" +
- " RETURNS NULL ON NULL INPUT\n" +
- " RETURNS map\n" +
- " LANGUAGE java\n" +
- " AS $$\n" +
- " if(state.containsKey(country)) {\n" +
- " Long newCount = (Long)state.get(country) + 1;\n" +
- " state.put(country, newCount);\n" +
- " } else {\n" +
- " state.put(country, 1L);\n" +
- " }\n" +
- " return state;\n" +
- " $$;");
-
- String releasesByCountry = createAggregate(KEYSPACE,
- "text, text",
- " CREATE AGGREGATE IF NOT EXISTS %s(text, text)\n" +
- " SFUNC " + shortFunctionName(albumCountByCountry) + '\n' +
- " STYPE map\n" +
- " INITCOND { };");
-
- long tEnd = System.currentTimeMillis() + 150;
- while (System.currentTimeMillis() < tEnd)
- {
- execute("SELECT " + releasesByCountry + "(country,title) FROM %s WHERE year=1980");
- }
- }
- finally
- {
- configureLogbackScanPeriod(60000L);
- }
- }
-
- private static void configureLogbackScanPeriod(long millis)
- {
- Logger l = LoggerFactory.getLogger(AggregationTest.class);
- ch.qos.logback.classic.Logger logbackLogger = (ch.qos.logback.classic.Logger) l;
- LoggerContext ctx = logbackLogger.getLoggerContext();
- TurboFilterList turboFilterList = ctx.getTurboFilterList();
- boolean done = false;
- for (TurboFilter turboFilter : turboFilterList)
- {
- if (turboFilter instanceof ReconfigureOnChangeFilter)
- {
- ReconfigureOnChangeFilter reconfigureFilter = (ReconfigureOnChangeFilter) turboFilter;
- reconfigureFilter.setContext(ctx);
- reconfigureFilter.setRefreshPeriod(millis);
- reconfigureFilter.stop();
- reconfigureFilter.start(); // start() sets the next check timestammp
- done = true;
- break;
- }
+ execute("INSERT INTO %s (year, country, title) VALUES (1980,?,?)",
+ countries[rand.nextInt(countries.length)],
+ "title-" + i);
}
- ReconfigureOnChangeTask roct = (ReconfigureOnChangeTask) ctx.getObject(RECONFIGURE_ON_CHANGE_TASK);
- if (roct != null)
- {
- // New functionality in logback - they replaced ReconfigureOnChangeFilter (which runs in the logging code)
- // with an async ReconfigureOnChangeTask - i.e. in a thread that does not become sandboxed.
- // Let the test run anyway, just we cannot reconfigure it (and it is pointless to reconfigure).
- return;
- }
+ String albumCountByCountry = createFunction(KEYSPACE,
+ "map,text,text",
+ "CREATE FUNCTION IF NOT EXISTS %s(state map,country text, album_title text)\n" +
+ " RETURNS NULL ON NULL INPUT\n" +
+ " RETURNS map\n" +
+ " LANGUAGE java\n" +
+ " AS $$\n" +
+ " if(state.containsKey(country)) {\n" +
+ " Long newCount = (Long)state.get(country) + 1;\n" +
+ " state.put(country, newCount);\n" +
+ " } else {\n" +
+ " state.put(country, 1L);\n" +
+ " }\n" +
+ " return state;\n" +
+ " $$;");
- assertTrue("ReconfigureOnChangeFilter not in logback's turbo-filter list - do that by adding scan=\"true\" to logback-test.xml's configuration element", done);
+ String releasesByCountry = createAggregate(KEYSPACE,
+ "text, text",
+ " CREATE AGGREGATE IF NOT EXISTS %s(text, text)\n" +
+ " SFUNC " + shortFunctionName(albumCountByCountry) + '\n' +
+ " STYPE map\n" +
+ " INITCOND { };");
+
+ long tEnd = System.currentTimeMillis() + 150;
+ while (System.currentTimeMillis() < tEnd)
+ {
+ execute("SELECT " + releasesByCountry + "(country,title) FROM %s WHERE year=1980");
+ }
}
@Test