You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by pa...@apache.org on 2017/12/07 22:13:09 UTC
[1/6] cassandra git commit: Fix SStable ordering by max timestamp in
SinglePartitionReadCommand
Repository: cassandra
Updated Branches:
refs/heads/cassandra-3.0 f9de26a79 -> a9225f90e
refs/heads/cassandra-3.11 cdcd6529d -> b637eb11c
refs/heads/trunk a61764d6c -> 23691f5f8
Fix SStable ordering by max timestamp in SinglePartitionReadCommand
Patch by Zhao Yang; Reviewed by Benjamin Lerer for CASSANDRA-14010
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a9225f90
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a9225f90
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a9225f90
Branch: refs/heads/cassandra-3.0
Commit: a9225f90e205a7c2b24a4ad4a32d0961067005b0
Parents: f9de26a
Author: Zhao Yang <zh...@gmail.com>
Authored: Wed Dec 6 16:17:26 2017 +0800
Committer: Paulo Motta <pa...@apache.org>
Committed: Fri Dec 8 09:01:56 2017 +1100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../io/sstable/format/SSTableReader.java | 3 ++-
.../apache/cassandra/cql3/SimpleQueryTest.java | 23 +++++++++++++++++---
3 files changed, 23 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a415eb..a5a97db 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.16
+ * Fix SStable ordering by max timestamp in SinglePartitionReadCommand (CASSANDRA-14010)
* Accept role names containing forward-slash (CASSANDRA-14088)
* Optimize CRC check chance probability calculations (CASSANDRA-14094)
* Fix cleanup on keyspace with no replicas (CASSANDRA-13526)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index fb9343f..7e1bc1a 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@ -140,7 +140,8 @@ public abstract class SSTableReader extends SSTable implements SelfRefCounted<SS
}
private static final RateLimiter meterSyncThrottle = RateLimiter.create(100.0);
- public static final Comparator<SSTableReader> maxTimestampComparator = (o1, o2) -> Long.compare(o1.getMaxTimestamp(), o2.getMaxTimestamp());
+ // Descending order
+ public static final Comparator<SSTableReader> maxTimestampComparator = (o1, o2) -> Long.compare(o2.getMaxTimestamp(), o1.getMaxTimestamp());
// it's just an object, which we use regular Object equality on; we introduce a special class just for easy recognition
public static final class UniqueIdentifier {}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
index 052b53d..f32bcc6 100644
--- a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
+++ b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
@@ -17,11 +17,8 @@
*/
package org.apache.cassandra.cql3;
-import java.util.*;
import org.junit.Test;
-import static junit.framework.Assert.*;
-
public class SimpleQueryTest extends CQLTester
{
@Test
@@ -529,4 +526,24 @@ public class SimpleQueryTest extends CQLTester
row(0, 0, 0, 0)
);
}
+
+ @Test
+ public void testSStableTimestampOrdering() throws Throwable
+ {
+ createTable("CREATE TABLE %s (k1 int, v1 int, v2 int, PRIMARY KEY (k1))");
+ disableCompaction();
+
+ // sstable1
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,1) USING TIMESTAMP 5");
+ flush();
+
+ // sstable2
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,2) USING TIMESTAMP 8");
+ flush();
+
+ execute("INSERT INTO %s(k1) VALUES(1) USING TIMESTAMP 7");
+ execute("DELETE FROM %s USING TIMESTAMP 6 WHERE k1 = 1");
+
+ assertRows(execute("SELECT * FROM %s WHERE k1=1"), row(1, 1, 2));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.11
Posted by pa...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.11
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b637eb11
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b637eb11
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b637eb11
Branch: refs/heads/cassandra-3.11
Commit: b637eb11c956698dc2ffb936eb85224e22dc7d94
Parents: cdcd652 a9225f9
Author: Paulo Motta <pa...@apache.org>
Authored: Fri Dec 8 09:03:53 2017 +1100
Committer: Paulo Motta <pa...@apache.org>
Committed: Fri Dec 8 09:04:56 2017 +1100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../io/sstable/format/SSTableReader.java | 3 ++-
.../apache/cassandra/cql3/SimpleQueryTest.java | 20 ++++++++++++++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b637eb11/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 691b285,a5a97db..18a22bd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,13 -1,5 +1,14 @@@
+3.11.2
+ * Remove OpenJDK log warning (CASSANDRA-13916)
+ * Prevent compaction strategies from looping indefinitely (CASSANDRA-14079)
+ * Cache disk boundaries (CASSANDRA-13215)
+ * Add asm jar to build.xml for maven builds (CASSANDRA-11193)
+ * Round buffer size to powers of 2 for the chunk cache (CASSANDRA-13897)
+ * Update jackson JSON jars (CASSANDRA-13949)
+ * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930)
+Merged from 3.0:
3.0.16
+ * Fix SStable ordering by max timestamp in SinglePartitionReadCommand (CASSANDRA-14010)
* Accept role names containing forward-slash (CASSANDRA-14088)
* Optimize CRC check chance probability calculations (CASSANDRA-14094)
* Fix cleanup on keyspace with no replicas (CASSANDRA-13526)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b637eb11/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b637eb11/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
index c2de52a,f32bcc6..62fe5a1
--- a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
+++ b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
@@@ -547,42 -527,23 +547,62 @@@ public class SimpleQueryTest extends CQ
);
}
+ /** Test for Cassandra issue 10958 **/
+ @Test
+ public void restrictionOnRegularColumnWithStaticColumnPresentTest() throws Throwable
+ {
+ createTable("CREATE TABLE %s (id int, id2 int, age int static, extra int, PRIMARY KEY(id, id2))");
+
+ execute("INSERT INTO %s (id, id2, age, extra) VALUES (?, ?, ?, ?)", 1, 1, 1, 1);
+ execute("INSERT INTO %s (id, id2, age, extra) VALUES (?, ?, ?, ?)", 2, 2, 2, 2);
+ execute("UPDATE %s SET age=? WHERE id=?", 3, 3);
+
+ assertRows(execute("SELECT * FROM %s"),
+ row(1, 1, 1, 1),
+ row(2, 2, 2, 2),
+ row(3, null, 3, null)
+ );
+
+ assertRows(execute("SELECT * FROM %s WHERE extra > 1 ALLOW FILTERING"),
+ row(2, 2, 2, 2)
+ );
+ }
+
+ @Test
+ public void testRowFilteringOnStaticColumn() throws Throwable
+ {
+ createTable("CREATE TABLE %s (id int, name text, age int static, PRIMARY KEY (id, name))");
+ for (int i = 0; i < 5; i++)
+ {
+ execute("INSERT INTO %s (id, name, age) VALUES (?, ?, ?)", i, "NameDoesNotMatter", i);
+ }
+
+ assertInvalid("SELECT id, age FROM %s WHERE age < 1");
+ assertRows(execute("SELECT id, age FROM %s WHERE age < 1 ALLOW FILTERING"),
+ row(0, 0));
+ assertRows(execute("SELECT id, age FROM %s WHERE age > 0 AND age < 3 ALLOW FILTERING"),
+ row(1, 1), row(2, 2));
+ assertRows(execute("SELECT id, age FROM %s WHERE age > 3 ALLOW FILTERING"),
+ row(4, 4));
+ }
++
+ @Test
+ public void testSStableTimestampOrdering() throws Throwable
+ {
+ createTable("CREATE TABLE %s (k1 int, v1 int, v2 int, PRIMARY KEY (k1))");
+ disableCompaction();
+
+ // sstable1
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,1) USING TIMESTAMP 5");
+ flush();
+
+ // sstable2
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,2) USING TIMESTAMP 8");
+ flush();
+
+ execute("INSERT INTO %s(k1) VALUES(1) USING TIMESTAMP 7");
+ execute("DELETE FROM %s USING TIMESTAMP 6 WHERE k1 = 1");
+
+ assertRows(execute("SELECT * FROM %s WHERE k1=1"), row(1, 1, 2));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
Posted by pa...@apache.org.
Merge branch 'cassandra-3.11' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/23691f5f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/23691f5f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/23691f5f
Branch: refs/heads/trunk
Commit: 23691f5f8ae541a91f0a2379693d59f7120c12cd
Parents: a61764d b637eb1
Author: Paulo Motta <pa...@apache.org>
Authored: Fri Dec 8 09:05:20 2017 +1100
Committer: Paulo Motta <pa...@apache.org>
Committed: Fri Dec 8 09:06:05 2017 +1100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../io/sstable/format/SSTableReader.java | 3 ++-
.../apache/cassandra/cql3/SimpleQueryTest.java | 20 ++++++++++++++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/23691f5f/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/23691f5f/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/23691f5f/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org
[3/6] cassandra git commit: Fix SStable ordering by max timestamp in
SinglePartitionReadCommand
Posted by pa...@apache.org.
Fix SStable ordering by max timestamp in SinglePartitionReadCommand
Patch by Zhao Yang; Reviewed by Benjamin Lerer for CASSANDRA-14010
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a9225f90
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a9225f90
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a9225f90
Branch: refs/heads/trunk
Commit: a9225f90e205a7c2b24a4ad4a32d0961067005b0
Parents: f9de26a
Author: Zhao Yang <zh...@gmail.com>
Authored: Wed Dec 6 16:17:26 2017 +0800
Committer: Paulo Motta <pa...@apache.org>
Committed: Fri Dec 8 09:01:56 2017 +1100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../io/sstable/format/SSTableReader.java | 3 ++-
.../apache/cassandra/cql3/SimpleQueryTest.java | 23 +++++++++++++++++---
3 files changed, 23 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a415eb..a5a97db 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.16
+ * Fix SStable ordering by max timestamp in SinglePartitionReadCommand (CASSANDRA-14010)
* Accept role names containing forward-slash (CASSANDRA-14088)
* Optimize CRC check chance probability calculations (CASSANDRA-14094)
* Fix cleanup on keyspace with no replicas (CASSANDRA-13526)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index fb9343f..7e1bc1a 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@ -140,7 +140,8 @@ public abstract class SSTableReader extends SSTable implements SelfRefCounted<SS
}
private static final RateLimiter meterSyncThrottle = RateLimiter.create(100.0);
- public static final Comparator<SSTableReader> maxTimestampComparator = (o1, o2) -> Long.compare(o1.getMaxTimestamp(), o2.getMaxTimestamp());
+ // Descending order
+ public static final Comparator<SSTableReader> maxTimestampComparator = (o1, o2) -> Long.compare(o2.getMaxTimestamp(), o1.getMaxTimestamp());
// it's just an object, which we use regular Object equality on; we introduce a special class just for easy recognition
public static final class UniqueIdentifier {}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
index 052b53d..f32bcc6 100644
--- a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
+++ b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
@@ -17,11 +17,8 @@
*/
package org.apache.cassandra.cql3;
-import java.util.*;
import org.junit.Test;
-import static junit.framework.Assert.*;
-
public class SimpleQueryTest extends CQLTester
{
@Test
@@ -529,4 +526,24 @@ public class SimpleQueryTest extends CQLTester
row(0, 0, 0, 0)
);
}
+
+ @Test
+ public void testSStableTimestampOrdering() throws Throwable
+ {
+ createTable("CREATE TABLE %s (k1 int, v1 int, v2 int, PRIMARY KEY (k1))");
+ disableCompaction();
+
+ // sstable1
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,1) USING TIMESTAMP 5");
+ flush();
+
+ // sstable2
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,2) USING TIMESTAMP 8");
+ flush();
+
+ execute("INSERT INTO %s(k1) VALUES(1) USING TIMESTAMP 7");
+ execute("DELETE FROM %s USING TIMESTAMP 6 WHERE k1 = 1");
+
+ assertRows(execute("SELECT * FROM %s WHERE k1=1"), row(1, 1, 2));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org
[2/6] cassandra git commit: Fix SStable ordering by max timestamp in
SinglePartitionReadCommand
Posted by pa...@apache.org.
Fix SStable ordering by max timestamp in SinglePartitionReadCommand
Patch by Zhao Yang; Reviewed by Benjamin Lerer for CASSANDRA-14010
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a9225f90
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a9225f90
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a9225f90
Branch: refs/heads/cassandra-3.11
Commit: a9225f90e205a7c2b24a4ad4a32d0961067005b0
Parents: f9de26a
Author: Zhao Yang <zh...@gmail.com>
Authored: Wed Dec 6 16:17:26 2017 +0800
Committer: Paulo Motta <pa...@apache.org>
Committed: Fri Dec 8 09:01:56 2017 +1100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../io/sstable/format/SSTableReader.java | 3 ++-
.../apache/cassandra/cql3/SimpleQueryTest.java | 23 +++++++++++++++++---
3 files changed, 23 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a415eb..a5a97db 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.16
+ * Fix SStable ordering by max timestamp in SinglePartitionReadCommand (CASSANDRA-14010)
* Accept role names containing forward-slash (CASSANDRA-14088)
* Optimize CRC check chance probability calculations (CASSANDRA-14094)
* Fix cleanup on keyspace with no replicas (CASSANDRA-13526)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index fb9343f..7e1bc1a 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@ -140,7 +140,8 @@ public abstract class SSTableReader extends SSTable implements SelfRefCounted<SS
}
private static final RateLimiter meterSyncThrottle = RateLimiter.create(100.0);
- public static final Comparator<SSTableReader> maxTimestampComparator = (o1, o2) -> Long.compare(o1.getMaxTimestamp(), o2.getMaxTimestamp());
+ // Descending order
+ public static final Comparator<SSTableReader> maxTimestampComparator = (o1, o2) -> Long.compare(o2.getMaxTimestamp(), o1.getMaxTimestamp());
// it's just an object, which we use regular Object equality on; we introduce a special class just for easy recognition
public static final class UniqueIdentifier {}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a9225f90/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
index 052b53d..f32bcc6 100644
--- a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
+++ b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
@@ -17,11 +17,8 @@
*/
package org.apache.cassandra.cql3;
-import java.util.*;
import org.junit.Test;
-import static junit.framework.Assert.*;
-
public class SimpleQueryTest extends CQLTester
{
@Test
@@ -529,4 +526,24 @@ public class SimpleQueryTest extends CQLTester
row(0, 0, 0, 0)
);
}
+
+ @Test
+ public void testSStableTimestampOrdering() throws Throwable
+ {
+ createTable("CREATE TABLE %s (k1 int, v1 int, v2 int, PRIMARY KEY (k1))");
+ disableCompaction();
+
+ // sstable1
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,1) USING TIMESTAMP 5");
+ flush();
+
+ // sstable2
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,2) USING TIMESTAMP 8");
+ flush();
+
+ execute("INSERT INTO %s(k1) VALUES(1) USING TIMESTAMP 7");
+ execute("DELETE FROM %s USING TIMESTAMP 6 WHERE k1 = 1");
+
+ assertRows(execute("SELECT * FROM %s WHERE k1=1"), row(1, 1, 2));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.11
Posted by pa...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.11
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b637eb11
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b637eb11
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b637eb11
Branch: refs/heads/trunk
Commit: b637eb11c956698dc2ffb936eb85224e22dc7d94
Parents: cdcd652 a9225f9
Author: Paulo Motta <pa...@apache.org>
Authored: Fri Dec 8 09:03:53 2017 +1100
Committer: Paulo Motta <pa...@apache.org>
Committed: Fri Dec 8 09:04:56 2017 +1100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../io/sstable/format/SSTableReader.java | 3 ++-
.../apache/cassandra/cql3/SimpleQueryTest.java | 20 ++++++++++++++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b637eb11/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 691b285,a5a97db..18a22bd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,13 -1,5 +1,14 @@@
+3.11.2
+ * Remove OpenJDK log warning (CASSANDRA-13916)
+ * Prevent compaction strategies from looping indefinitely (CASSANDRA-14079)
+ * Cache disk boundaries (CASSANDRA-13215)
+ * Add asm jar to build.xml for maven builds (CASSANDRA-11193)
+ * Round buffer size to powers of 2 for the chunk cache (CASSANDRA-13897)
+ * Update jackson JSON jars (CASSANDRA-13949)
+ * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930)
+Merged from 3.0:
3.0.16
+ * Fix SStable ordering by max timestamp in SinglePartitionReadCommand (CASSANDRA-14010)
* Accept role names containing forward-slash (CASSANDRA-14088)
* Optimize CRC check chance probability calculations (CASSANDRA-14094)
* Fix cleanup on keyspace with no replicas (CASSANDRA-13526)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b637eb11/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b637eb11/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
index c2de52a,f32bcc6..62fe5a1
--- a/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
+++ b/test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java
@@@ -547,42 -527,23 +547,62 @@@ public class SimpleQueryTest extends CQ
);
}
+ /** Test for Cassandra issue 10958 **/
+ @Test
+ public void restrictionOnRegularColumnWithStaticColumnPresentTest() throws Throwable
+ {
+ createTable("CREATE TABLE %s (id int, id2 int, age int static, extra int, PRIMARY KEY(id, id2))");
+
+ execute("INSERT INTO %s (id, id2, age, extra) VALUES (?, ?, ?, ?)", 1, 1, 1, 1);
+ execute("INSERT INTO %s (id, id2, age, extra) VALUES (?, ?, ?, ?)", 2, 2, 2, 2);
+ execute("UPDATE %s SET age=? WHERE id=?", 3, 3);
+
+ assertRows(execute("SELECT * FROM %s"),
+ row(1, 1, 1, 1),
+ row(2, 2, 2, 2),
+ row(3, null, 3, null)
+ );
+
+ assertRows(execute("SELECT * FROM %s WHERE extra > 1 ALLOW FILTERING"),
+ row(2, 2, 2, 2)
+ );
+ }
+
+ @Test
+ public void testRowFilteringOnStaticColumn() throws Throwable
+ {
+ createTable("CREATE TABLE %s (id int, name text, age int static, PRIMARY KEY (id, name))");
+ for (int i = 0; i < 5; i++)
+ {
+ execute("INSERT INTO %s (id, name, age) VALUES (?, ?, ?)", i, "NameDoesNotMatter", i);
+ }
+
+ assertInvalid("SELECT id, age FROM %s WHERE age < 1");
+ assertRows(execute("SELECT id, age FROM %s WHERE age < 1 ALLOW FILTERING"),
+ row(0, 0));
+ assertRows(execute("SELECT id, age FROM %s WHERE age > 0 AND age < 3 ALLOW FILTERING"),
+ row(1, 1), row(2, 2));
+ assertRows(execute("SELECT id, age FROM %s WHERE age > 3 ALLOW FILTERING"),
+ row(4, 4));
+ }
++
+ @Test
+ public void testSStableTimestampOrdering() throws Throwable
+ {
+ createTable("CREATE TABLE %s (k1 int, v1 int, v2 int, PRIMARY KEY (k1))");
+ disableCompaction();
+
+ // sstable1
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,1) USING TIMESTAMP 5");
+ flush();
+
+ // sstable2
+ execute("INSERT INTO %s(k1,v1,v2) VALUES(1,1,2) USING TIMESTAMP 8");
+ flush();
+
+ execute("INSERT INTO %s(k1) VALUES(1) USING TIMESTAMP 7");
+ execute("DELETE FROM %s USING TIMESTAMP 6 WHERE k1 = 1");
+
+ assertRows(execute("SELECT * FROM %s WHERE k1=1"), row(1, 1, 2));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org