Repository: cassandra
Updated Branches:
  refs/heads/trunk a18402ca0 -> 7afc1571b


NullPointerException if metrics reporter config file doesn't exist

patch by Christopher Batey; reviewed by Robert Stupp for CASSANDRA-11544


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7afc1571
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7afc1571
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7afc1571

Branch: refs/heads/trunk
Commit: 7afc1571bb465ba45572f849e6f285182b6c1e7d
Parents: a18402c
Author: Christopher Batey <[email protected]>
Authored: Fri Apr 22 14:21:23 2016 +0200
Committer: Robert Stupp <[email protected]>
Committed: Fri Apr 22 14:21:23 2016 +0200

----------------------------------------------------------------------
 .../org/apache/cassandra/service/CassandraDaemon.java     | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7afc1571/src/java/org/apache/cassandra/service/CassandraDaemon.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java 
b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index 160235a..0c233a7 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.lang.management.MemoryPoolMXBean;
 import java.net.InetAddress;
+import java.net.URL;
 import java.net.UnknownHostException;
 import java.rmi.registry.LocateRegistry;
 import java.rmi.server.RMIServerSocketFactory;
@@ -327,8 +328,13 @@ public class CassandraDaemon
             logger.info("Trying to load metrics-reporter-config from file: 
{}", metricsReporterConfigFile);
             try
             {
-                String reportFileLocation = 
CassandraDaemon.class.getClassLoader().getResource(metricsReporterConfigFile).getFile();
-                
ReporterConfig.loadFromFile(reportFileLocation).enableAll(CassandraMetricsRegistry.Metrics);
+                URL resource = 
CassandraDaemon.class.getClassLoader().getResource(metricsReporterConfigFile);
+                if (resource == null) {
+                    logger.warn("Failed to load metrics-reporter-config, file 
does not exist: {}", metricsReporterConfigFile);
+                } else {
+                    String reportFileLocation = resource.getFile();
+                    
ReporterConfig.loadFromFile(reportFileLocation).enableAll(CassandraMetricsRegistry.Metrics);
+                }
             }
             catch (Exception e)
             {

Reply via email to