bungeecord-prometheus-exporter icon indicating copy to clipboard operation
bungeecord-prometheus-exporter copied to clipboard

NoClassDefFoundError: RedisBungeeAPI

Open MarvinKlar opened this issue 1 year ago • 6 comments

I am using the latest BungeeCord and bungeecord-prometheus-exporter version and I do have all redis bungee related settings disabled.

  "redis_player_connects": "false",
  "redis_player_disconnects": "false",
  "redis_online_players": "false",
  "redis_bungee_online_proxies": "false"
14:12:36 [INFO] [BungeeCordPrometheusExporter] redis_player_connects is disabled in the config
14:12:36 [INFO] [BungeeCordPrometheusExporter] redis_player_disconnects is disabled in the config
14:12:36 [INFO] [BungeeCordPrometheusExporter] redis_online_player is enabled in the config
14:12:36 [INFO] [BungeeCordPrometheusExporter] redis_bungee_online_proxies is disabled in the config

But I get the following error every 5 seconds:

14:17:00 [WARNING] /metrics
java.lang.NoClassDefFoundError: com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI
	at org.akadia.prometheus.bungeecord.metrics.RedisBungeeOnlinePlayer.doCollect(RedisBungeeOnlinePlayer.java:16)
	at org.akadia.prometheus.interfaces.Metric.collect(Metric.java:22)
	at org.akadia.prometheus.MetricRegistry$$Lambda$809/0x000000005407f658.accept(Unknown Source)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.akadia.prometheus.MetricRegistry.collectMetrics(MetricRegistry.java:26)
	at org.akadia.prometheus.MetricsServer$1.handle(MetricsServer.java:43)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
	at org.eclipse.jetty.server.Server.handle(Server.java:563)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
	at org.eclipse.jetty.server.HttpChannel$$Lambda$808/0x000000005407ead0.dispatch(Unknown Source)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:194)
	at org.eclipse.jetty.io.ManagedSelector$$Lambda$795/0x00000000b1088368.run(Unknown Source)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)
	at java.base/java.lang.Thread.run(Thread.java:853)

MarvinKlar avatar Sep 12 '23 14:09 MarvinKlar

A downgrade to version bungeecord-prometheus-exporter-3.1.5 fixed the error.

MarvinKlar avatar Sep 12 '23 14:09 MarvinKlar

What was the version that was showing the error? What server do you use?

weihao avatar Sep 12 '23 18:09 weihao

As I said, I am using the latest version of bungee prometheus exporter. And BungeeCord server

MarvinKlar avatar Sep 12 '23 18:09 MarvinKlar

can't reproduce, what is your system language?

weihao avatar Sep 19 '23 09:09 weihao

German

MarvinKlar avatar Sep 19 '23 10:09 MarvinKlar

When upgrading from an old config, you are not migrated to a new config.

As observed:

  "redis_online_players": "false",
14:12:36 [INFO] [BungeeCordPrometheusExporter] redis_online_player is enabled in the config

Not sure which update but one changed the value from redis_online_players to redis_online_player

Once you change the config value from redis_online_players to redis_online_player it will then work correctly

Not a bug but would be nice if spigot/plugins had a solution to migrate from old configs (although you'd probably need a config version variable or something like that

Also much love to the dev for keeping this project going <3

JordanPlayz158 avatar Feb 16 '24 19:02 JordanPlayz158