Author: jbellis
Date: Thu Nov 19 21:51:15 2009
New Revision: 882312
URL: http://svn.apache.org/viewvc?rev=882312&view=rev
Log:
check for listenaddress misconfiguration
patch by jbellis; reviewed by gdusbabek for CASSANDRA-298
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=882312&r1=882311&r2=882312&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
Thu Nov 19 21:51:15 2009
@@ -37,6 +37,7 @@
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import java.net.InetAddress;
+import java.net.UnknownHostException;
public class DatabaseDescriptor
{
@@ -278,9 +279,20 @@
/* Local IP or hostname to bind services to */
String listenAddress =
xmlUtils.getNodeValue("/Storage/ListenAddress");
- if ( listenAddress != null)
- listenAddress_ = InetAddress.getByName(listenAddress);
-
+ if (listenAddress != null)
+ {
+ if (listenAddress.equals("0.0.0.0"))
+ throw new ConfigurationException("ListenAddress must be a
single interface. See
http://wiki.apache.org/cassandra/FAQ#cant_listen_on_ip_any");
+ try
+ {
+ listenAddress_ = InetAddress.getByName(listenAddress);
+ }
+ catch (UnknownHostException e)
+ {
+ throw new ConfigurationException("Unknown ListenAddress '"
+ listenAddress + "'");
+ }
+ }
+
/* Local IP or hostname to bind thrift server to */
String thriftAddress =
xmlUtils.getNodeValue("/Storage/ThriftAddress");
if ( thriftAddress != null )