GPFS returns a default rack/dc as a last resort.
Patch by brandonwilliams reviewed by vijay for CASSANDRA-5133


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

Branch: refs/heads/trunk
Commit: 2354d62e3709ac4d73eb7bcf11504f9d93f9ff0d
Parents: 5267112
Author: Brandon Williams <[email protected]>
Authored: Wed Jan 16 12:28:15 2013 -0600
Committer: Brandon Williams <[email protected]>
Committed: Wed Jan 16 12:28:53 2013 -0600

----------------------------------------------------------------------
 .../locator/GossipingPropertyFileSnitch.java       |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2354d62e/src/java/org/apache/cassandra/locator/GossipingPropertyFileSnitch.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/locator/GossipingPropertyFileSnitch.java 
b/src/java/org/apache/cassandra/locator/GossipingPropertyFileSnitch.java
index b16c136..87a61f5 100644
--- a/src/java/org/apache/cassandra/locator/GossipingPropertyFileSnitch.java
+++ b/src/java/org/apache/cassandra/locator/GossipingPropertyFileSnitch.java
@@ -39,6 +39,8 @@ public class GossipingPropertyFileSnitch extends 
AbstractNetworkTopologySnitch
     private String myDC;
     private String myRack;
     private Map<InetAddress, Map<String, String>> savedEndpoints;
+    private String DEFAULT_DC = "UNKNOWN_DC";
+    private String DEFAULT_RACK = "UNKNOWN_RACK";
 
     public GossipingPropertyFileSnitch() throws ConfigurationException
     {
@@ -77,7 +79,7 @@ public class GossipingPropertyFileSnitch extends 
AbstractNetworkTopologySnitch
                     savedEndpoints = SystemTable.loadDcRackInfo();
                 if (savedEndpoints.containsKey(endpoint))
                     return savedEndpoints.get(endpoint).get("data_center");
-                throw new RuntimeException("Could not retrieve DC for " + 
endpoint + " from gossip and PFS compatibility is disabled");
+                return DEFAULT_DC;
             }
             else
                 return psnitch.getDatacenter(endpoint);
@@ -105,7 +107,7 @@ public class GossipingPropertyFileSnitch extends 
AbstractNetworkTopologySnitch
                     savedEndpoints = SystemTable.loadDcRackInfo();
                 if (savedEndpoints.containsKey(endpoint))
                     return savedEndpoints.get(endpoint).get("rack");
-                throw new RuntimeException("Could not retrieve rack for " + 
endpoint + " from gossip and PFS compatibility is disabled");
+                return DEFAULT_RACK;
             }
             else
                 return psnitch.getRack(endpoint);

Reply via email to