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 2012/07/03 18:50:32 UTC

[1/3] git commit: merge from 1.1

Updated Branches:
  refs/heads/cassandra-1.1 867478493 -> 67dec69f5
  refs/heads/trunk 76ada1106 -> 602e383d6


merge from 1.1


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

Branch: refs/heads/trunk
Commit: 602e383d670f1f2a7dd6c220482b6dc6ba57ba4b
Parents: 76ada11 67dec69
Author: Jonathan Ellis <jb...@apache.org>
Authored: Tue Jul 3 11:49:34 2012 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue Jul 3 11:49:34 2012 -0500

----------------------------------------------------------------------
 .../cassandra/db/AbstractColumnContainer.java      |    8 ++-
 .../db/AbstractThreadUnsafeSortedColumns.java      |    6 +++
 .../apache/cassandra/db/AtomicSortedColumns.java   |   31 +++++++++++++-
 .../org/apache/cassandra/db/ISortedColumns.java    |    7 +++
 src/java/org/apache/cassandra/db/Memtable.java     |   24 +++++------
 5 files changed, 57 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/602e383d/src/java/org/apache/cassandra/db/AbstractColumnContainer.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/602e383d/src/java/org/apache/cassandra/db/AbstractThreadUnsafeSortedColumns.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/602e383d/src/java/org/apache/cassandra/db/AtomicSortedColumns.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/AtomicSortedColumns.java
index a85b41e,9cb44d2..c8f5f3a
--- a/src/java/org/apache/cassandra/db/AtomicSortedColumns.java
+++ b/src/java/org/apache/cassandra/db/AtomicSortedColumns.java
@@@ -172,8 -176,11 +179,9 @@@ public class AtomicSortedColumns implem
          main_loop:
          do
          {
+             sizeDelta = 0;
              current = ref.get();
 -            DeletionInfo newDelInfo = current.deletionInfo;
 -            if (newDelInfo.markedForDeleteAt < cm.getDeletionInfo().markedForDeleteAt)
 -                newDelInfo = cm.getDeletionInfo();
 +            DeletionInfo newDelInfo = current.deletionInfo.add(cm.getDeletionInfo());
              modified = new Holder(current.map.clone(), newDelInfo);
  
              for (IColumn column : cm.getSortedColumns())
@@@ -329,12 -343,22 +339,22 @@@
          {
              ByteBuffer name = column.name();
              IColumn oldColumn;
-             while ((oldColumn = map.putIfAbsent(name, column)) != null)
+             long sizeDelta = 0;
+             while (true)
              {
+                 oldColumn = map.putIfAbsent(name, column);
+                 if (oldColumn == null)
+                 {
 -                    sizeDelta += column.serializedSize();
++                    sizeDelta += column.dataSize();
+                     break;
+                 }
+ 
                  if (oldColumn instanceof SuperColumn)
                  {
                      assert column instanceof SuperColumn;
 -                    long previousSize = oldColumn.serializedSize();
++                    long previousSize = oldColumn.dataSize();
                      ((SuperColumn) oldColumn).putColumn((SuperColumn)column, allocator);
 -                    sizeDelta += oldColumn.serializedSize() - previousSize;
++                    sizeDelta += oldColumn.dataSize() - previousSize;
                      break;  // Delegated to SuperColumn
                  }
                  else
@@@ -342,7 -366,10 +362,10 @@@
                      // calculate reconciled col from old (existing) col and new col
                      IColumn reconciledColumn = column.reconcile(oldColumn, allocator);
                      if (map.replace(name, oldColumn, reconciledColumn))
+                     {
 -                        sizeDelta += reconciledColumn.serializedSize() - oldColumn.serializedSize();
++                        sizeDelta += reconciledColumn.dataSize() - oldColumn.dataSize();
                          break;
+                     }
  
                      // We failed to replace column due to a concurrent update or a concurrent removal. Keep trying.
                      // (Currently, concurrent removal should not happen (only updates), but let us support that anyway.)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/602e383d/src/java/org/apache/cassandra/db/ISortedColumns.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/602e383d/src/java/org/apache/cassandra/db/Memtable.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/Memtable.java
index 0f9c2ed,347b997..15be9b8
--- a/src/java/org/apache/cassandra/db/Memtable.java
+++ b/src/java/org/apache/cassandra/db/Memtable.java
@@@ -120,7 -120,9 +120,7 @@@ public class Memtabl
  
      public long getLiveSize()
      {
-         return (long) (currentThroughput.get() * cfs.liveRatio);
 -        // 25% fudge factor on the base throughput * liveRatio calculation.  (Based on observed
 -        // pre-slabbing behavior -- not sure what accounts for this. May have changed with introduction of slabbing.)
 -        return (long) (currentSize.get() * cfs.liveRatio * 1.25);
++        return (long) (currentSize.get() * cfs.liveRatio);
      }
  
      public long getSerializedSize()