[ https://issues.apache.org/jira/browse/CASSANDRA-8839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14328733#comment-14328733 ]
Sylvain Lebresne commented on CASSANDRA-8839: --------------------------------------------- Probably just a copy-paste typo from the original patch that is easily fixed, but it does suggest the original patch hasn't been properly tested so let's make sure we add a test for this. > DatabaseDescriptor throws NPE when rpc_interface is used > -------------------------------------------------------- > > Key: CASSANDRA-8839 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8839 > Project: Cassandra > Issue Type: Bug > Components: Config > Environment: 2.1.3 > Reporter: Jan Kesten > Fix For: 2.1.4 > > > Copy from mail to dev mailinglist. > When using > - listen_interface instead of listen_address > - rpc_interface instead of rpc_address > starting 2.1.3 throws an NPE: > {code} > ERROR [main] 2015-02-20 07:50:09,661 DatabaseDescriptor.java:144 - Fatal > error during configuration loading > java.lang.NullPointerException: null > at > org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:411) > ~[apache-cassandra-2.1.3.jar:2.1.3] > at > org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:133) > ~[apache-cassandra-2.1.3.jar:2.1.3] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:110) > [apache-cassandra-2.1.3.jar:2.1.3] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:465) > [apache-cassandra-2.1.3.jar:2.1.3] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:554) > [apache-cassandra-2.1.3.jar:2.1.3] > {code} > Occurs on debian package as well as in tar.gz distribution. > {code} > /* Local IP, hostname or interface to bind RPC server to */ > if(conf.rpc_address !=null&& conf.rpc_interface !=null) > { > throw newConfigurationException("Set rpc_address OR rpc_interface, not > both"); > } > else if(conf.rpc_address !=null) > { > try > { > rpcAddress = InetAddress.getByName(conf.rpc_address); > } > catch(UnknownHostException e) > { > throw newConfigurationException("Unknown host in rpc_address "+ > conf.rpc_address); > } > } > else if(conf.rpc_interface !=null) > { > listenAddress = > getNetworkInterfaceAddress(conf.rpc_interface,"rpc_interface"); > } > else > { > rpcAddress = FBUtilities.getLocalAddress(); > } > {code} > I think that listenAddress in the second else block is an error. In my case > rpc_interface is eth0, so listenAddress gets set, and rpcAddress remains > unset. The result is NPE in line 411: > {code} > if(rpcAddress.isAnyLocalAddress()) > {code} > After changing rpc_interface to rpc_address everything works as expected. -- This message was sent by Atlassian JIRA (v6.3.4#6332)