instaclustr / cassandra-exporter

Java agent for exporting Cassandra metrics to Prometheus
Apache License 2.0
71 stars 45 forks source link

NPE in LabelMaker #43

Closed eperott closed 4 years ago

eperott commented 4 years ago

I get these exceptions on startup when running version 0.9.9 on 3.11.5:

WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,403 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,405 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=TotalLatency.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,406 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Timeouts.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,407 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Unavailables.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,409 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Failures.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,412 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Latency.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,413 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=TotalLatency.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,414 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Timeouts.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,415 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Unavailables.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
WARN  [cassandra-exporter-harvester-defer-0] 2019-12-09 13:50:30,416 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=ClientRequest,scope=Write,name=Failures.
java.lang.NullPointerException: null
    at java.util.HashMap.putMapEntries(HashMap.java:501) ~[na:1.8.0_181]
    at java.util.HashMap.putAll(HashMap.java:785) ~[na:1.8.0_181]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$withLabelMaker$0(FactoriesSupplier.java:65) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.FactoriesSupplier$FactoryBuilder.lambda$build$1(FactoriesSupplier.java:91) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at com.zegelin.cassandra.exporter.Harvester.lambda$registerMBean$0(Harvester.java:174) ~[cassandra-exporter-agent-0.9.10-SNAPSHOT.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_181]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]

Seem to be related to this commit: https://github.com/instaclustr/cassandra-exporter/commit/034c5982cd3654ba17c81b39456785042274c5bf

jay7x commented 4 years ago

Hit into this as well with agent 0.9.9 and cassandra 3.11.5 using cassandra:3.11 docker image.