You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (JIRA)" <ji...@apache.org> on 2015/04/17 18:59:59 UTC

[jira] [Resolved] (CASSANDRA-9208) Setting rpc_interface in cassandra.yaml causes NPE during startup

     [ https://issues.apache.org/jira/browse/CASSANDRA-9208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams resolved CASSANDRA-9208.
-----------------------------------------
    Resolution: Duplicate

> Setting rpc_interface in cassandra.yaml causes NPE during startup
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-9208
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9208
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Config
>         Environment: Windows and RHEL
>            Reporter: Sandeep More
>         Attachments: SuggestedDataBaseDescriptor.diff
>
>
> In the cassandra.yaml file when "rpc_interface" option is set it causes a NPE (stack trace at the end).
> Upon further investigation it turns out that there is a serious problem is in the way this logic is handled in the code DatabaseDescriptor.java (#374).
> Following is the code snippet 
>  else if (conf.rpc_interface != null)
>         {
>             listenAddress = getNetworkInterfaceAddress(conf.rpc_interface, "rpc_interface");
>         }
>         else
>         {
>             rpcAddress = FBUtilities.getLocalAddress();
>         }
> If you notice, 
> 1) The code above sets the "listenAddress" instead of "rpcAddress".  
> 2) The function getNetworkInterfaceAddress() blindly assumes that this is called to set the "listenAddress" (see line 171). The "configName" variable passed to the function is royally ignored and only used for printing out exception (which again is misleading)
> I am also attaching a suggested patch (NOTE: the patch tries to address this issue, the function getNetworkInterfaceAddress() needs revision ).
> INFO  15:36:56 Windows environment detected.  DiskAccessMode set to standard, indexAccessMode standard
> INFO  15:36:56 Global memtable on-heap threshold is enabled at 503MB
> INFO  15:36:56 Global memtable off-heap threshold is enabled at 503MB
> ERROR 15:37:50 Fatal error during configuration loading
> java.lang.NullPointerException: null
>         at org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:411) ~[apache-cassandra-2.1.4.jar:2.1.4]
>         at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:133) ~[apache-cassandra-2.1.4.jar:2.1.4]
>         at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:164) [apache-cassandra-2.1.4.jar:2.1.4]
>         at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:533) [apache-cassandra-2.1.4.jar:2.1.4]
>         at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:622) [apache-cassandra-2.1.4.jar:2.1.4]
> null
> Fatal error during configuration loading; unable to start. See log for stacktrace.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)