cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jan Kesten (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-8839) DatabaseDescriptor throws NPE when rpc_interface is used
Date Fri, 20 Feb 2015 08:38:11 GMT
Jan Kesten created CASSANDRA-8839:
-------------------------------------

             Summary: 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


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)

Mime
View raw message