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);
