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

[3/3] git commit: merge from 2.0

merge from 2.0


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

Branch: refs/heads/trunk
Commit: b25a63a81d22e409e607ca28c39e20604332cb5d
Parents: 78f7142 039e9b9
Author: Jonathan Ellis <jb...@apache.org>
Authored: Mon Feb 3 23:51:16 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Mon Feb 3 23:51:16 2014 -0600

----------------------------------------------------------------------
 CHANGES.txt                                     |   2 +
 .../cassandra/config/DatabaseDescriptor.java    |  20 ++-
 .../org/apache/cassandra/io/util/Memory.java    | 123 ++++++++++++++++++-
 .../cassandra/service/CassandraDaemon.java      |   2 +-
 .../cassandra/utils/FastByteComparisons.java    |   6 +
 5 files changed, 145 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b25a63a8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6a4c507,b1fade1..28278c4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,33 -1,6 +1,35 @@@
 +2.1
 + * add listsnapshots command to nodetool (CASSANDRA-5742)
 + * Introduce AtomicBTreeColumns (CASSANDRA-6271)
 + * Multithreaded commitlog (CASSANDRA-3578)
 + * allocate fixed index summary memory pool and resample cold index summaries 
 +   to use less memory (CASSANDRA-5519)
 + * Removed multithreaded compaction (CASSANDRA-6142)
 + * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 + * Remove CFDefinition (CASSANDRA-6253)
 + * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
 + * User-defined types for CQL3 (CASSANDRA-5590)
 + * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
 + * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
 + * Secondary index support for collections (CASSANDRA-4511, 6383)
 + * SSTable metadata(Stats.db) format change (CASSANDRA-6356)
 + * Push composites support in the storage engine
 +   (CASSANDRA-5417, CASSANDRA-6520)
 + * Add snapshot space used to cfstats (CASSANDRA-6231)
 + * Add cardinality estimator for key count estimation (CASSANDRA-5906)
 + * CF id is changed to be non-deterministic. Data dir/key cache are created
 +   uniquely for CF id (CASSANDRA-5202)
 + * New counters implementation (CASSANDRA-6504)
 +
 +
  2.0.6
+  * Fix direct Memory on architectures that do not support unaligned long access
+    (CASSANDRA-6628)
   * Let scrub optionally skip broken counter partitions (CASSANDRA-5930)
  
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b25a63a8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 2793237,bd5db69..378fa8a
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -177,9 -177,9 +177,9 @@@ public class DatabaseDescripto
          /* evaluate the DiskAccessMode Config directive, which also affects indexAccessMode selection */
          if (conf.disk_access_mode == Config.DiskAccessMode.auto)
          {
-             conf.disk_access_mode = System.getProperty("os.arch").contains("64") ? Config.DiskAccessMode.mmap : Config.DiskAccessMode.standard;
+             conf.disk_access_mode = hasLargeAddressSpace() ? Config.DiskAccessMode.mmap : Config.DiskAccessMode.standard;
              indexAccessMode = conf.disk_access_mode;
 -            logger.info("DiskAccessMode 'auto' determined to be " + conf.disk_access_mode + ", indexAccessMode is " + indexAccessMode );
 +            logger.info("DiskAccessMode 'auto' determined to be {}, indexAccessMode is {}", conf.disk_access_mode, indexAccessMode);
          }
          else if (conf.disk_access_mode == Config.DiskAccessMode.mmap_index_only)
          {
@@@ -1384,8 -1324,19 +1384,24 @@@
          }
      }
  
 +    public static int getIndexSummaryResizeIntervalInMinutes()
 +    {
 +        return conf.index_summary_resize_interval_in_minutes;
 +    }
++
+     public static boolean hasLargeAddressSpace()
+     {
+         // currently we just check if it's a 64bit arch, but any we only really care if the address space is large
+         String datamodel = System.getProperty("sun.arch.data.model");
+         if (datamodel != null)
+         {
+             switch (datamodel)
+             {
+                 case "64": return true;
+                 case "32": return false;
+             }
+         }
+         String arch = System.getProperty("os.arch");
+         return arch.contains("64") || arch.contains("sparcv9");
+     }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b25a63a8/src/java/org/apache/cassandra/service/CassandraDaemon.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/CassandraDaemon.java
index 2903fc4,9e63c05..0ad47ac
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@@ -94,16 -147,8 +94,16 @@@ public class CassandraDaemo
       */
      protected void setup()
      {
 +        try 
 +        {
 +            logger.info("Hostname: {}", InetAddress.getLocalHost().getHostName());
 +        }
 +        catch (UnknownHostException e1)
 +        {
 +            logger.info("Could not resolve local host");
 +        }
          // log warnings for different kinds of sub-optimal JVMs.  tldr use 64-bit Oracle >= 1.6u32
-         if (!System.getProperty("os.arch").contains("64"))
+         if (!DatabaseDescriptor.hasLargeAddressSpace())
              logger.info("32bit JVM detected.  It is recommended to run Cassandra on a 64bit JVM for better performance.");
          String javaVersion = System.getProperty("java.version");
          String javaVmName = System.getProperty("java.vm.name");