Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align jetty-util version to jetty-server version #29

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mrk-andreev
Copy link

In upstream jetty-server is not compatible with jetty-util that cause NoClassDefFoundError at AbstractConnector:

root@b4189abf2fba:/opt/app# bin/benchmark-worker \
  --port 9090 \
  --stats-port 9091
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.13.3/log4j-slf4j-impl-2.13.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/root/.m2/repository/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
11:10:37.528 [main] INFO - Logging initialized @604ms to org.eclipse.jetty.util.log.Slf4jLog
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/util/component/Graceful$Shutdown
        at org.eclipse.jetty.server.AbstractConnector.<init>(AbstractConnector.java:156)
        at org.eclipse.jetty.server.AbstractNetworkConnector.<init>(AbstractNetworkConnector.java:44)
        at org.eclipse.jetty.server.ServerConnector.<init>(ServerConnector.java:219)
        at org.eclipse.jetty.server.ServerConnector.<init>(ServerConnector.java:94)
        at org.eclipse.jetty.server.Server.<init>(Server.java:122)
        at org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider.start(PrometheusMetricsProvider.java:103)
        at io.openmessaging.benchmark.worker.BenchmarkWorker.main(BenchmarkWorker.java:77)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.util.component.Graceful$Shutdown
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        ... 7 more

Because old jetty-util contains different interface

public interface Graceful {
    Future<Void> shutdown();
}

but AbstractConnector expected different signature:

private final Graceful.Shutdown _shutdown = new Graceful.Shutdown();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant