You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2014/04/29 19:12:32 UTC

[1/6] git commit: Allow overriding cassandra-rackdc.properties location

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 0a20f5f17 -> 6f919368c
  refs/heads/cassandra-2.1 acf1b1801 -> 04884ebb1
  refs/heads/trunk 64e46285f -> de860026c


Allow overriding cassandra-rackdc.properties location

Patch by Patrick Ziegler, reviewed by brandonwilliams for CASSANDRA-7072


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

Branch: refs/heads/cassandra-2.0
Commit: 6f919368c87f1c4c3531843fb8f7f5c80d21f51a
Parents: 0a20f5f
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 29 12:05:47 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 29 12:05:47 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 .../org/apache/cassandra/locator/SnitchProperties.java  | 12 ++++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f919368/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 50d5896..81eb566 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.8
+ * Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
  * Set JMX RMI port to 7199 (CASSANDRA-7087)
  * Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
  * Log a warning for large batches (CASSANDRA-6487)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f919368/src/java/org/apache/cassandra/locator/SnitchProperties.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/SnitchProperties.java b/src/java/org/apache/cassandra/locator/SnitchProperties.java
index 809a180..a78b2a7 100644
--- a/src/java/org/apache/cassandra/locator/SnitchProperties.java
+++ b/src/java/org/apache/cassandra/locator/SnitchProperties.java
@@ -18,6 +18,7 @@
 package org.apache.cassandra.locator;
 
 import java.io.InputStream;
+import java.net.URL;
 import java.util.Properties;
 
 import org.apache.cassandra.io.util.FileUtils;
@@ -32,14 +33,21 @@ public class SnitchProperties
 
     static
     {
-        InputStream stream = SnitchProperties.class.getClassLoader().getResourceAsStream(RACKDC_PROPERTY_FILENAME);
+        properties = new Properties();
+        InputStream stream = null;
+        String configURL = System.getProperty("cassandra.rackdc.properties");
         try
         {
+            URL url = new URL(configURL);
+            if (configURL == null)
+                url = SnitchProperties.class.getClassLoader().getResource(
+                        "cassandra-rackdc.properties");
+            stream = url.openStream();
             properties.load(stream);
         }
         catch (Exception e)
         {
-            // do not throw exception here, just consider this a incomplete or a empty property file.
+            // do not throw exception here, just consider this an incomplete or an empty property file.
             logger.warn("Unable to read " + RACKDC_PROPERTY_FILENAME);
         }
         finally


[4/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by br...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	CHANGES.txt
	src/java/org/apache/cassandra/locator/SnitchProperties.java


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

Branch: refs/heads/trunk
Commit: 04884ebb1176263585dc61b2b10753e1d1cf05c0
Parents: acf1b18 6f91936
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 29 12:08:32 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 29 12:08:32 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 src/java/org/apache/cassandra/locator/SnitchProperties.java | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/04884ebb/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 09aebcd,81eb566..73e39cc
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,60 -1,5 +1,61 @@@
 -2.0.8
 +2.1.0-beta2
 + * Increase default CL space to 8GB (CASSANDRA-7031)
 + * Add range tombstones to read repair digests (CASSANDRA-6863)
 + * Fix BTree.clear for large updates (CASSANDRA-6943)
 + * Fail write instead of logging a warning when unable to append to CL
 +   (CASSANDRA-6764)
 + * Eliminate possibility of CL segment appearing twice in active list 
 +   (CASSANDRA-6557)
 + * Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759)
 + * Switch CRC component to Adler and include it for compressed sstables 
 +   (CASSANDRA-4165)
 + * Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451)
 + * Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899)
 + * Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897)
 + * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573)
 + * Fix ABTC NPE and apply update function correctly (CASSANDRA-6692)
 + * Allow nodetool to use a file or prompt for password (CASSANDRA-6660)
 + * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742)
 + * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705)
 + * Scrub should not always clear out repaired status (CASSANDRA-5351)
 + * Improve handling of range tombstone for wide partitions (CASSANDRA-6446)
 + * Fix ClassCastException for compact table with composites (CASSANDRA-6738)
 + * Fix potentially repairing with wrong nodes (CASSANDRA-6808)
 + * Change caching option syntax (CASSANDRA-6745)
 + * Fix stress to do proper counter reads (CASSANDRA-6835)
 + * Fix help message for stress counter_write (CASSANDRA-6824)
 + * Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848)
 + * Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849)
 + * Fix race condition in Batch CLE (CASSANDRA-6860)
 + * Improve cleanup/scrub/upgradesstables failure handling (CASSANDRA-6774)
 + * ByteBuffer write() methods for serializing sstables (CASSANDRA-6781)
 + * Proper compare function for CollectionType (CASSANDRA-6783)
 + * Update native server to Netty 4 (CASSANDRA-6236)
 + * Fix off-by-one error in stress (CASSANDRA-6883)
 + * Make OpOrder AutoCloseable (CASSANDRA-6901)
 + * Remove sync repair JMX interface (CASSANDRA-6900)
 + * Add multiple memory allocation options for memtables (CASSANDRA-6689, 6694)
 + * Remove adjusted op rate from stress output (CASSANDRA-6921)
 + * Add optimized CF.hasColumns() implementations (CASSANDRA-6941)
 + * Serialize batchlog mutations with the version of the target node
 +   (CASSANDRA-6931)
 + * Optimize CounterColumn#reconcile() (CASSANDRA-6953)
 + * Properly remove 1.2 sstable support in 2.1 (CASSANDRA-6869)
 + * Lock counter cells, not partitions (CASSANDRA-6880)
 + * Track presence of legacy counter shards in sstables (CASSANDRA-6888)
 + * Ensure safe resource cleanup when replacing sstables (CASSANDRA-6912)
 + * Add failure handler to async callback (CASSANDRA-6747)
 + * Fix AE when closing SSTable without releasing reference (CASSANDRA-7000)
 + * Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924)
 + * Only snapshot relative SSTables when sequential repair (CASSANDRA-7024)
 + * Require nodetool rebuild_index to specify index names (CASSANDRA-7038)
 + * fix cassandra stress errors on reads with native protocol (CASSANDRA-7033)
 + * Use OpOrder to guard sstable references for reads (CASSANDRA-6919)
 + * Preemptive opening of compaction result (CASSANDRA-6916)
 + * Multi-threaded scrub/cleanup/upgradesstables (CASSANDRA-5547)
 + * Optimize cellname comparison (CASSANDRA-6934)
 +Merged from 2.0:
+  * Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
   * Set JMX RMI port to 7199 (CASSANDRA-7087)
   * Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
   * Log a warning for large batches (CASSANDRA-6487)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/04884ebb/src/java/org/apache/cassandra/locator/SnitchProperties.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/locator/SnitchProperties.java
index 57541d4,a78b2a7..f960241
--- a/src/java/org/apache/cassandra/locator/SnitchProperties.java
+++ b/src/java/org/apache/cassandra/locator/SnitchProperties.java
@@@ -28,15 -29,20 +29,20 @@@ public class SnitchPropertie
  {
      private static final Logger logger = LoggerFactory.getLogger(SnitchProperties.class);
      public static final String RACKDC_PROPERTY_FILENAME = "cassandra-rackdc.properties";
 -    private static Properties properties = new Properties();
  
 -    static
 +    private Properties properties;
 +
 +    public SnitchProperties()
      {
          properties = new Properties();
-         InputStream stream = SnitchProperties.class.getClassLoader().getResourceAsStream(RACKDC_PROPERTY_FILENAME);
+         InputStream stream = null;
+         String configURL = System.getProperty("cassandra.rackdc.properties");
          try
          {
+             URL url = new URL(configURL);
+             if (configURL == null)
 -                url = SnitchProperties.class.getClassLoader().getResource(
 -                        "cassandra-rackdc.properties");
++                url = SnitchProperties.class.getClassLoader().getResource("cassandra-rackdc.properties");
+             stream = url.openStream();
              properties.load(stream);
          }
          catch (Exception e)


[5/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by br...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	CHANGES.txt
	src/java/org/apache/cassandra/locator/SnitchProperties.java


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

Branch: refs/heads/cassandra-2.1
Commit: 04884ebb1176263585dc61b2b10753e1d1cf05c0
Parents: acf1b18 6f91936
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 29 12:08:32 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 29 12:08:32 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 src/java/org/apache/cassandra/locator/SnitchProperties.java | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/04884ebb/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 09aebcd,81eb566..73e39cc
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,60 -1,5 +1,61 @@@
 -2.0.8
 +2.1.0-beta2
 + * Increase default CL space to 8GB (CASSANDRA-7031)
 + * Add range tombstones to read repair digests (CASSANDRA-6863)
 + * Fix BTree.clear for large updates (CASSANDRA-6943)
 + * Fail write instead of logging a warning when unable to append to CL
 +   (CASSANDRA-6764)
 + * Eliminate possibility of CL segment appearing twice in active list 
 +   (CASSANDRA-6557)
 + * Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759)
 + * Switch CRC component to Adler and include it for compressed sstables 
 +   (CASSANDRA-4165)
 + * Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451)
 + * Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899)
 + * Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897)
 + * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573)
 + * Fix ABTC NPE and apply update function correctly (CASSANDRA-6692)
 + * Allow nodetool to use a file or prompt for password (CASSANDRA-6660)
 + * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742)
 + * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705)
 + * Scrub should not always clear out repaired status (CASSANDRA-5351)
 + * Improve handling of range tombstone for wide partitions (CASSANDRA-6446)
 + * Fix ClassCastException for compact table with composites (CASSANDRA-6738)
 + * Fix potentially repairing with wrong nodes (CASSANDRA-6808)
 + * Change caching option syntax (CASSANDRA-6745)
 + * Fix stress to do proper counter reads (CASSANDRA-6835)
 + * Fix help message for stress counter_write (CASSANDRA-6824)
 + * Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848)
 + * Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849)
 + * Fix race condition in Batch CLE (CASSANDRA-6860)
 + * Improve cleanup/scrub/upgradesstables failure handling (CASSANDRA-6774)
 + * ByteBuffer write() methods for serializing sstables (CASSANDRA-6781)
 + * Proper compare function for CollectionType (CASSANDRA-6783)
 + * Update native server to Netty 4 (CASSANDRA-6236)
 + * Fix off-by-one error in stress (CASSANDRA-6883)
 + * Make OpOrder AutoCloseable (CASSANDRA-6901)
 + * Remove sync repair JMX interface (CASSANDRA-6900)
 + * Add multiple memory allocation options for memtables (CASSANDRA-6689, 6694)
 + * Remove adjusted op rate from stress output (CASSANDRA-6921)
 + * Add optimized CF.hasColumns() implementations (CASSANDRA-6941)
 + * Serialize batchlog mutations with the version of the target node
 +   (CASSANDRA-6931)
 + * Optimize CounterColumn#reconcile() (CASSANDRA-6953)
 + * Properly remove 1.2 sstable support in 2.1 (CASSANDRA-6869)
 + * Lock counter cells, not partitions (CASSANDRA-6880)
 + * Track presence of legacy counter shards in sstables (CASSANDRA-6888)
 + * Ensure safe resource cleanup when replacing sstables (CASSANDRA-6912)
 + * Add failure handler to async callback (CASSANDRA-6747)
 + * Fix AE when closing SSTable without releasing reference (CASSANDRA-7000)
 + * Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924)
 + * Only snapshot relative SSTables when sequential repair (CASSANDRA-7024)
 + * Require nodetool rebuild_index to specify index names (CASSANDRA-7038)
 + * fix cassandra stress errors on reads with native protocol (CASSANDRA-7033)
 + * Use OpOrder to guard sstable references for reads (CASSANDRA-6919)
 + * Preemptive opening of compaction result (CASSANDRA-6916)
 + * Multi-threaded scrub/cleanup/upgradesstables (CASSANDRA-5547)
 + * Optimize cellname comparison (CASSANDRA-6934)
 +Merged from 2.0:
+  * Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
   * Set JMX RMI port to 7199 (CASSANDRA-7087)
   * Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
   * Log a warning for large batches (CASSANDRA-6487)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/04884ebb/src/java/org/apache/cassandra/locator/SnitchProperties.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/locator/SnitchProperties.java
index 57541d4,a78b2a7..f960241
--- a/src/java/org/apache/cassandra/locator/SnitchProperties.java
+++ b/src/java/org/apache/cassandra/locator/SnitchProperties.java
@@@ -28,15 -29,20 +29,20 @@@ public class SnitchPropertie
  {
      private static final Logger logger = LoggerFactory.getLogger(SnitchProperties.class);
      public static final String RACKDC_PROPERTY_FILENAME = "cassandra-rackdc.properties";
 -    private static Properties properties = new Properties();
  
 -    static
 +    private Properties properties;
 +
 +    public SnitchProperties()
      {
          properties = new Properties();
-         InputStream stream = SnitchProperties.class.getClassLoader().getResourceAsStream(RACKDC_PROPERTY_FILENAME);
+         InputStream stream = null;
+         String configURL = System.getProperty("cassandra.rackdc.properties");
          try
          {
+             URL url = new URL(configURL);
+             if (configURL == null)
 -                url = SnitchProperties.class.getClassLoader().getResource(
 -                        "cassandra-rackdc.properties");
++                url = SnitchProperties.class.getClassLoader().getResource("cassandra-rackdc.properties");
+             stream = url.openStream();
              properties.load(stream);
          }
          catch (Exception e)


[6/6] git commit: Merge branch 'cassandra-2.1' into trunk

Posted by br...@apache.org.
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: de860026cc8f05a6b47609f2d174f5ed696ecb50
Parents: 64e4628 04884eb
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 29 12:08:43 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 29 12:08:43 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 src/java/org/apache/cassandra/locator/SnitchProperties.java | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/de860026/CHANGES.txt
----------------------------------------------------------------------


[3/6] git commit: Allow overriding cassandra-rackdc.properties location

Posted by br...@apache.org.
Allow overriding cassandra-rackdc.properties location

Patch by Patrick Ziegler, reviewed by brandonwilliams for CASSANDRA-7072


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

Branch: refs/heads/trunk
Commit: 6f919368c87f1c4c3531843fb8f7f5c80d21f51a
Parents: 0a20f5f
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 29 12:05:47 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 29 12:05:47 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 .../org/apache/cassandra/locator/SnitchProperties.java  | 12 ++++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f919368/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 50d5896..81eb566 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.8
+ * Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
  * Set JMX RMI port to 7199 (CASSANDRA-7087)
  * Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
  * Log a warning for large batches (CASSANDRA-6487)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f919368/src/java/org/apache/cassandra/locator/SnitchProperties.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/SnitchProperties.java b/src/java/org/apache/cassandra/locator/SnitchProperties.java
index 809a180..a78b2a7 100644
--- a/src/java/org/apache/cassandra/locator/SnitchProperties.java
+++ b/src/java/org/apache/cassandra/locator/SnitchProperties.java
@@ -18,6 +18,7 @@
 package org.apache.cassandra.locator;
 
 import java.io.InputStream;
+import java.net.URL;
 import java.util.Properties;
 
 import org.apache.cassandra.io.util.FileUtils;
@@ -32,14 +33,21 @@ public class SnitchProperties
 
     static
     {
-        InputStream stream = SnitchProperties.class.getClassLoader().getResourceAsStream(RACKDC_PROPERTY_FILENAME);
+        properties = new Properties();
+        InputStream stream = null;
+        String configURL = System.getProperty("cassandra.rackdc.properties");
         try
         {
+            URL url = new URL(configURL);
+            if (configURL == null)
+                url = SnitchProperties.class.getClassLoader().getResource(
+                        "cassandra-rackdc.properties");
+            stream = url.openStream();
             properties.load(stream);
         }
         catch (Exception e)
         {
-            // do not throw exception here, just consider this a incomplete or a empty property file.
+            // do not throw exception here, just consider this an incomplete or an empty property file.
             logger.warn("Unable to read " + RACKDC_PROPERTY_FILENAME);
         }
         finally


[2/6] git commit: Allow overriding cassandra-rackdc.properties location

Posted by br...@apache.org.
Allow overriding cassandra-rackdc.properties location

Patch by Patrick Ziegler, reviewed by brandonwilliams for CASSANDRA-7072


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

Branch: refs/heads/cassandra-2.1
Commit: 6f919368c87f1c4c3531843fb8f7f5c80d21f51a
Parents: 0a20f5f
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 29 12:05:47 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 29 12:05:47 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 .../org/apache/cassandra/locator/SnitchProperties.java  | 12 ++++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f919368/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 50d5896..81eb566 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.8
+ * Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
  * Set JMX RMI port to 7199 (CASSANDRA-7087)
  * Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
  * Log a warning for large batches (CASSANDRA-6487)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f919368/src/java/org/apache/cassandra/locator/SnitchProperties.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/SnitchProperties.java b/src/java/org/apache/cassandra/locator/SnitchProperties.java
index 809a180..a78b2a7 100644
--- a/src/java/org/apache/cassandra/locator/SnitchProperties.java
+++ b/src/java/org/apache/cassandra/locator/SnitchProperties.java
@@ -18,6 +18,7 @@
 package org.apache.cassandra.locator;
 
 import java.io.InputStream;
+import java.net.URL;
 import java.util.Properties;
 
 import org.apache.cassandra.io.util.FileUtils;
@@ -32,14 +33,21 @@ public class SnitchProperties
 
     static
     {
-        InputStream stream = SnitchProperties.class.getClassLoader().getResourceAsStream(RACKDC_PROPERTY_FILENAME);
+        properties = new Properties();
+        InputStream stream = null;
+        String configURL = System.getProperty("cassandra.rackdc.properties");
         try
         {
+            URL url = new URL(configURL);
+            if (configURL == null)
+                url = SnitchProperties.class.getClassLoader().getResource(
+                        "cassandra-rackdc.properties");
+            stream = url.openStream();
             properties.load(stream);
         }
         catch (Exception e)
         {
-            // do not throw exception here, just consider this a incomplete or a empty property file.
+            // do not throw exception here, just consider this an incomplete or an empty property file.
             logger.warn("Unable to read " + RACKDC_PROPERTY_FILENAME);
         }
         finally