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 2013/05/10 00:41:47 UTC
[1/3] git commit: fix 2i updates with indentical values and
timestamps patch by Sam Tunnicliffe; reviewed by jbellis for CASSANDRA-5540
Updated Branches:
refs/heads/cassandra-1.2 6db71b29d -> 95cf9a5f0
refs/heads/trunk ce6429dc6 -> 156fb112d
fix 2i updates with indentical values and timestamps
patch by Sam Tunnicliffe; reviewed by jbellis for CASSANDRA-5540
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/95cf9a5f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/95cf9a5f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/95cf9a5f
Branch: refs/heads/cassandra-1.2
Commit: 95cf9a5f0d5c437a9e042018eadc698e3fd5f9e0
Parents: 6db71b2
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu May 9 17:38:23 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu May 9 17:39:38 2013 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../db/compaction/LazilyCompactedRow.java | 2 +-
.../cassandra/db/compaction/PrecompactedRow.java | 2 +-
.../cassandra/db/index/SecondaryIndexManager.java | 7 ++++++-
4 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ca3f130..dfe3015 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
1.2.5
+ * fix 2i updates with indentical values and timestamps (CASSANDRA-5540)
* fix compaction throttling bursty-ness (CASSANDRA-4316)
* reduce memory consumption of IndexSummary (CASSANDRA-5506)
* remove per-row column name bloom filters (CASSANDRA-5492)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index 48b5b7d..1433add 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -256,7 +256,7 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable
container.addColumn(column);
if (indexer != SecondaryIndexManager.nullUpdater
&& !column.isMarkedForDelete()
- && container.getColumn(column.name()) != column)
+ && !container.getColumn(column.name()).equals(column))
{
indexer.remove(column);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java b/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
index 34ddb88..b1f639e 100644
--- a/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
@@ -141,7 +141,7 @@ public class PrecompactedRow extends AbstractCompactedRow
container.addColumn(column);
if (indexer != SecondaryIndexManager.nullUpdater
&& !column.isMarkedForDelete()
- && container.getColumn(column.name()) != column)
+ && !container.getColumn(column.name()).equals(column))
{
indexer.remove(column);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index 3b27614..2f03515 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -616,15 +616,20 @@ public class SecondaryIndexManager
public void update(IColumn oldColumn, IColumn column)
{
+ if (oldColumn.equals(column))
+ return;
+
SecondaryIndex index = indexFor(column.name());
if (index == null)
return;
if (index instanceof PerColumnSecondaryIndex)
{
- ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
+ // insert the new value before removing the old one, so we never have a period
+ // where the row is invisible to both queries (the opposite seems preferable); see CASSANDRA-5540
if (!column.isMarkedForDelete())
((PerColumnSecondaryIndex) index).insert(key.key, column);
+ ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
}
}
[3/3] git commit: merge from 1.2
Posted by jb...@apache.org.
merge from 1.2
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/156fb112
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/156fb112
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/156fb112
Branch: refs/heads/trunk
Commit: 156fb112dc37470614e01c037e797e83afda93d8
Parents: ce6429d 95cf9a5
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu May 9 17:41:41 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu May 9 17:41:41 2013 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../db/compaction/LazilyCompactedRow.java | 2 +-
.../cassandra/db/compaction/PrecompactedRow.java | 2 +-
.../cassandra/db/index/SecondaryIndexManager.java | 7 ++++++-
4 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/156fb112/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 4762fdd,dfe3015..42ab6d4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,50 -1,5 +1,51 @@@
+2.0
+ * Single-pass compaction (CASSANDRA-4180)
+ * Removed token range bisection (CASSANDRA-5518)
+ * Removed compatibility with pre-1.2.5 sstables and network messages
+ (CASSANDRA-5511)
+ * removed PBSPredictor (CASSANDRA-5455)
+ * CAS support (CASSANDRA-5062, 5441, 5443)
+ * Leveled compaction performs size-tiered compactions in L0
+ (CASSANDRA-5371, 5439)
+ * Add yaml network topology snitch for mixed ec2/other envs (CASSANDRA-5339)
+ * Log when a node is down longer than the hint window (CASSANDRA-4554)
+ * Optimize tombstone creation for ExpiringColumns (CASSANDRA-4917)
+ * Improve LeveledScanner work estimation (CASSANDRA-5250, 5407)
+ * Replace compaction lock with runWithCompactionsDisabled (CASSANDRA-3430)
+ * Change Message IDs to ints (CASSANDRA-5307)
+ * Move sstable level information into the Stats component, removing the
+ need for a separate Manifest file (CASSANDRA-4872)
+ * avoid serializing to byte[] on commitlog append (CASSANDRA-5199)
+ * make index_interval configurable per columnfamily (CASSANDRA-3961)
+ * add default_time_to_live (CASSANDRA-3974)
+ * add memtable_flush_period_in_ms (CASSANDRA-4237)
+ * replace supercolumns internally by composites (CASSANDRA-3237, 5123)
+ * upgrade thrift to 0.9.0 (CASSANDRA-3719)
+ * drop unnecessary keyspace parameter from user-defined compaction API
+ (CASSANDRA-5139)
+ * more robust solution to incomplete compactions + counters (CASSANDRA-5151)
+ * Change order of directory searching for c*.in.sh (CASSANDRA-3983)
+ * Add tool to reset SSTable compaction level for LCS (CASSANDRA-5271)
+ * Allow custom configuration loader (CASSANDRA-5045)
+ * Remove memory emergency pressure valve logic (CASSANDRA-3534)
+ * Reduce request latency with eager retry (CASSANDRA-4705)
+ * cqlsh: Remove ASSUME command (CASSANDRA-5331)
+ * Rebuild BF when loading sstables if bloom_filter_fp_chance
+ has changed since compaction (CASSANDRA-5015)
+ * remove row-level bloom filters (CASSANDRA-4885)
+ * Change Kernel Page Cache skipping into row preheating (disabled by default)
+ (CASSANDRA-4937)
+ * Improve repair by deciding on a gcBefore before sending
+ out TreeRequests (CASSANDRA-4932)
+ * Add an official way to disable compactions (CASSANDRA-5074)
+ * Reenable ALTER TABLE DROP with new semantics (CASSANDRA-3919)
+ * Add binary protocol versioning (CASSANDRA-5436)
+ * Swap THshaServer for TThreadedSelectorServer (CASSANDRA-5530)
+ * Add alias support to SELECT statement (CASSANDRA-5075)
+
+
1.2.5
+ * fix 2i updates with indentical values and timestamps (CASSANDRA-5540)
* fix compaction throttling bursty-ness (CASSANDRA-4316)
* reduce memory consumption of IndexSummary (CASSANDRA-5506)
* remove per-row column name bloom filters (CASSANDRA-5492)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/156fb112/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/156fb112/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/156fb112/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index 2550d8c,2f03515..0bf455a
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@@ -587,23 -606,30 +587,28 @@@ public class SecondaryIndexManage
if (column.isMarkedForDelete())
return;
- SecondaryIndex index = indexFor(column.name());
- if (index == null)
- return;
-
- if (index instanceof PerColumnSecondaryIndex)
- ((PerColumnSecondaryIndex) index).insert(key.key, column);
+ for (SecondaryIndex index : indexFor(column.name()))
+ {
+ if (index instanceof PerColumnSecondaryIndex)
+ ((PerColumnSecondaryIndex) index).insert(key.key, column);
+ }
}
- public void update(IColumn oldColumn, IColumn column)
+ public void update(Column oldColumn, Column column)
{
+ if (oldColumn.equals(column))
+ return;
-
- SecondaryIndex index = indexFor(column.name());
- if (index == null)
- return;
-
- if (index instanceof PerColumnSecondaryIndex)
++
+ for (SecondaryIndex index : indexFor(column.name()))
{
- // insert the new value before removing the old one, so we never have a period
- // where the row is invisible to both queries (the opposite seems preferable); see CASSANDRA-5540
- if (!column.isMarkedForDelete())
- ((PerColumnSecondaryIndex) index).insert(key.key, column);
- ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
+ if (index instanceof PerColumnSecondaryIndex)
+ {
- ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
++ // insert the new value before removing the old one, so we never have a period
++ // where the row is invisible to both queries (the opposite seems preferable); see CASSANDRA-5540
+ if (!column.isMarkedForDelete())
+ ((PerColumnSecondaryIndex) index).insert(key.key, column);
++ ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
+ }
}
}
[2/3] git commit: fix 2i updates with indentical values and
timestamps patch by Sam Tunnicliffe; reviewed by jbellis for CASSANDRA-5540
Posted by jb...@apache.org.
fix 2i updates with indentical values and timestamps
patch by Sam Tunnicliffe; reviewed by jbellis for CASSANDRA-5540
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/95cf9a5f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/95cf9a5f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/95cf9a5f
Branch: refs/heads/trunk
Commit: 95cf9a5f0d5c437a9e042018eadc698e3fd5f9e0
Parents: 6db71b2
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu May 9 17:38:23 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu May 9 17:39:38 2013 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../db/compaction/LazilyCompactedRow.java | 2 +-
.../cassandra/db/compaction/PrecompactedRow.java | 2 +-
.../cassandra/db/index/SecondaryIndexManager.java | 7 ++++++-
4 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ca3f130..dfe3015 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
1.2.5
+ * fix 2i updates with indentical values and timestamps (CASSANDRA-5540)
* fix compaction throttling bursty-ness (CASSANDRA-4316)
* reduce memory consumption of IndexSummary (CASSANDRA-5506)
* remove per-row column name bloom filters (CASSANDRA-5492)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index 48b5b7d..1433add 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -256,7 +256,7 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable
container.addColumn(column);
if (indexer != SecondaryIndexManager.nullUpdater
&& !column.isMarkedForDelete()
- && container.getColumn(column.name()) != column)
+ && !container.getColumn(column.name()).equals(column))
{
indexer.remove(column);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java b/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
index 34ddb88..b1f639e 100644
--- a/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/PrecompactedRow.java
@@ -141,7 +141,7 @@ public class PrecompactedRow extends AbstractCompactedRow
container.addColumn(column);
if (indexer != SecondaryIndexManager.nullUpdater
&& !column.isMarkedForDelete()
- && container.getColumn(column.name()) != column)
+ && !container.getColumn(column.name()).equals(column))
{
indexer.remove(column);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/95cf9a5f/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index 3b27614..2f03515 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -616,15 +616,20 @@ public class SecondaryIndexManager
public void update(IColumn oldColumn, IColumn column)
{
+ if (oldColumn.equals(column))
+ return;
+
SecondaryIndex index = indexFor(column.name());
if (index == null)
return;
if (index instanceof PerColumnSecondaryIndex)
{
- ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
+ // insert the new value before removing the old one, so we never have a period
+ // where the row is invisible to both queries (the opposite seems preferable); see CASSANDRA-5540
if (!column.isMarkedForDelete())
((PerColumnSecondaryIndex) index).insert(key.key, column);
+ ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
}
}