You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2013/09/19 12:37:25 UTC
[1/5] git commit: Fix sstable2json for CQL3 tables
Updated Branches:
refs/heads/trunk 0cec93c4f -> 54f41a9f5
Fix sstable2json for CQL3 tables
patch by lyubent; reviewed by slebresne for CASSANDRA-5852
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a886e349
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a886e349
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a886e349
Branch: refs/heads/trunk
Commit: a886e34909c313a1c3fa5dff48b77f1cee2c6847
Parents: eb390d0
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Sep 19 11:56:17 2013 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Sep 19 11:56:17 2013 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/config/CFMetaData.java | 15 ++++++++++++++-
.../org/apache/cassandra/tools/SSTableImport.java | 7 ++++++-
3 files changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index c6e1169..f853cce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -21,6 +21,7 @@
* Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
* Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
* Fix memory leak in snapshot repair (CASSANDRA-6047)
+ * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
1.2.9
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java
index 33e3f00..4355737 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -995,7 +995,18 @@ public final class CFMetaData
ByteBuffer[] components = composite.split(columnName);
for (ColumnDefinition def : column_metadata.values())
{
- ByteBuffer toCompare = def.componentIndex == null ? columnName : components[def.componentIndex];
+ ByteBuffer toCompare;
+ if (def.componentIndex == null)
+ {
+ toCompare = columnName;
+ }
+ else
+ {
+ if (def.componentIndex >= components.length)
+ break;
+
+ toCompare = components[def.componentIndex];
+ }
if (def.name.equals(toCompare))
return def;
}
@@ -1007,6 +1018,8 @@ public final class CFMetaData
}
}
+
+
public ColumnDefinition getColumnDefinitionForIndex(String indexName)
{
for (ColumnDefinition def : column_metadata.values())
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a886e349/src/java/org/apache/cassandra/tools/SSTableImport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/SSTableImport.java b/src/java/org/apache/cassandra/tools/SSTableImport.java
index 71b1b60..68d4397 100644
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@ -156,7 +156,7 @@ public class SSTableImport
}
value = isDeleted() ? ByteBufferUtil.hexToBytes((String) fields.get(1))
- : stringAsType((String) fields.get(1), meta.getValueValidator(name.duplicate()));
+ : stringAsType((String) fields.get(1), meta.getValueValidator(meta.getColumnDefinitionFromColumnName(name)));
}
}
@@ -245,6 +245,11 @@ public class SSTableImport
{
cfamily.addAtom(new RangeTombstone(col.getName(), col.getValue(), col.timestamp, col.localExpirationTime));
}
+ // cql3 row marker, see CASSANDRA-5852
+ else if (!path.columnName.hasRemaining())
+ {
+ cfamily.addColumn(new QueryPath(cfm.cfName, superName, ByteBuffer.wrap(new byte[3])), col.getValue(), col.timestamp);
+ }
else
{
cfamily.addColumn(path, col.getValue(), col.timestamp);
[4/5] git commit: Fix validation of IN with 2ndary indexes
Posted by sl...@apache.org.
Fix validation of IN with 2ndary indexes
patch by slebresne; reviewed by iamaleskey for CASSANDRA-6050
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a0abadfd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a0abadfd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a0abadfd
Branch: refs/heads/trunk
Commit: a0abadfdb5721f6f595b6f9e33ed2bf44603d2fe
Parents: 2c316af
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Sep 19 12:35:43 2013 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Sep 19 12:35:43 2013 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/cql3/statements/Restriction.java | 16 ++++++++++++++++
.../cassandra/cql3/statements/SelectStatement.java | 7 ++++++-
3 files changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 6003ed2..d101c74 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -25,6 +25,7 @@
* Paging filter empty rows too agressively (CASSANDRA-6040)
* Support variadic parameters for IN clauses (CASSANDRA-4210)
* cqlsh: return the result of CAS writes (CASSANDRA-5796)
+ * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
Merged from 1.2:
* Avoid second-guessing out-of-space state (CASSANDRA-5605)
* Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/src/java/org/apache/cassandra/cql3/statements/Restriction.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/Restriction.java b/src/java/org/apache/cassandra/cql3/statements/Restriction.java
index 45cc607..3a3aa05 100644
--- a/src/java/org/apache/cassandra/cql3/statements/Restriction.java
+++ b/src/java/org/apache/cassandra/cql3/statements/Restriction.java
@@ -112,6 +112,12 @@ public interface Restriction
return true;
}
+ // Used when we need to know if it's a IN with just one value before we have
+ // the bind variables. This is ugly and only there for backward compatiblity
+ // because we used to treate IN with 1 value like an EQ and need to preserve
+ // this behavior.
+ public abstract boolean canHaveOnlyOneValue();
+
public boolean isOnToken()
{
return false;
@@ -134,6 +140,11 @@ public interface Restriction
return buffers;
}
+ public boolean canHaveOnlyOneValue()
+ {
+ return values.size() == 1;
+ }
+
@Override
public String toString()
{
@@ -158,6 +169,11 @@ public interface Restriction
return lval.elements;
}
+ public boolean canHaveOnlyOneValue()
+ {
+ return false;
+ }
+
@Override
public String toString()
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0abadfd/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index c85864f..86dad85 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -1124,7 +1124,12 @@ public class SelectStatement implements CQLStatement
case VALUE_ALIAS:
throw new InvalidRequestException(String.format("Predicates on the non-primary-key column (%s) of a COMPACT table are not yet supported", name.name));
case COLUMN_METADATA:
- stmt.metadataRestrictions.put(name, updateRestriction(name, stmt.metadataRestrictions.get(name), rel, names));
+ // We only all IN on the row key and last clustering key so far, never on non-PK columns, and this even if there's an index
+ Restriction r = updateRestriction(name, stmt.metadataRestrictions.get(name), rel, names);
+ if (r.isIN() && !((Restriction.IN)r).canHaveOnlyOneValue())
+ // Note: for backward compatibility reason, we conside a IN of 1 value the same as a EQ, so we let that slide.
+ throw new InvalidRequestException(String.format("IN predicates on non-primary-key columns (%s) is not yet supported", name));
+ stmt.metadataRestrictions.put(name, r);
break;
}
}
[2/5] git commit: Update version for 1.2.10 release
Posted by sl...@apache.org.
Update version for 1.2.10 release
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/93753636
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/93753636
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/93753636
Branch: refs/heads/trunk
Commit: 937536363a8a6d86ee32fe5ef90653264e67b6c7
Parents: a886e34
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Sep 19 11:59:58 2013 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Sep 19 11:59:58 2013 +0200
----------------------------------------------------------------------
NEWS.txt | 9 +++++++++
build.xml | 2 +-
debian/changelog | 6 ++++++
3 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/NEWS.txt
----------------------------------------------------------------------
diff --git a/NEWS.txt b/NEWS.txt
index 1f3f675..78c8a4c 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version using the
'sstableloader' tool. You can upgrade the file format of your snapshots
using the provided 'sstableupgrade' tool.
+1.2.10
+======
+
+Upgrading
+---------
+ - Nothing specific to this release, but please see 1.2.9 if you are upgrading
+ from a previous version.
+
+
1.2.9
=====
http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 122759c..74c7374 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
<property name="debuglevel" value="source,lines,vars"/>
<!-- default version and SCM information -->
- <property name="base.version" value="1.2.9"/>
+ <property name="base.version" value="1.2.10"/>
<property name="scm.connection" value="scm:git://git.apache.org/cassandra.git"/>
<property name="scm.developerConnection" value="scm:git://git.apache.org/cassandra.git"/>
<property name="scm.url" value="http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>
http://git-wip-us.apache.org/repos/asf/cassandra/blob/93753636/debian/changelog
----------------------------------------------------------------------
diff --git a/debian/changelog b/debian/changelog
index 62ee968..63f75b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.10) unstable; urgency=low
+
+ * New release
+
+ -- Sylvain Lebresne <sl...@apache.org> Thu, 19 Sep 2013 11:58:12 +0200
+
cassandra (1.2.9) unstable; urgency=low
* New release
[5/5] git commit: Merge branch 'cassandra-2.0' into trunk
Posted by sl...@apache.org.
Merge branch 'cassandra-2.0' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/54f41a9f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/54f41a9f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/54f41a9f
Branch: refs/heads/trunk
Commit: 54f41a9f58414dbb595554ff5b2aa4b98cb7c3ec
Parents: 0cec93c a0abadf
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Sep 19 12:37:17 2013 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Sep 19 12:37:17 2013 +0200
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../org/apache/cassandra/config/CFMetaData.java | 15 ++++++++++++++-
.../cassandra/cql3/statements/Restriction.java | 16 ++++++++++++++++
.../cassandra/cql3/statements/SelectStatement.java | 7 ++++++-
.../org/apache/cassandra/tools/SSTableImport.java | 7 ++++++-
5 files changed, 44 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/src/java/org/apache/cassandra/cql3/statements/Restriction.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/54f41a9f/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
----------------------------------------------------------------------
[3/5] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by sl...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Conflicts:
NEWS.txt
build.xml
debian/changelog
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2c316afb
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2c316afb
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2c316afb
Branch: refs/heads/trunk
Commit: 2c316afb2160de703f79d1c163413c7d801b3f1e
Parents: 6e3a241 9375363
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Sep 19 12:28:04 2013 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Sep 19 12:28:04 2013 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/config/CFMetaData.java | 15 ++++++++++++++-
.../org/apache/cassandra/tools/SSTableImport.java | 7 ++++++-
3 files changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index c218af5,f853cce..6003ed2
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -49,54 -21,14 +49,55 @@@ Merged from 1.2
* Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
* Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
* Fix memory leak in snapshot repair (CASSANDRA-6047)
+ * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
-1.2.9
+2.0.0
+ * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
+ * Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931)
+ * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
+ * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
+ * Add stream session progress to JMX (CASSANDRA-4757)
+ * Fix NPE during CAS operation (CASSANDRA-5925)
+Merged from 1.2:
* Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
- * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases
- (CASSANDRA-5800)
- * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831)
+ * Don't announce schema version until we've loaded the changes locally
+ (CASSANDRA-5904)
+ * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
+ * Properly handle parsing huge map and set literals (CASSANDRA-5893)
+
+
+2.0.0-rc2
+ * enable vnodes by default (CASSANDRA-5869)
+ * fix CAS contention timeout (CASSANDRA-5830)
+ * fix HsHa to respect max frame size (CASSANDRA-4573)
+ * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
+ * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
+Merged from 1.2:
+ * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
+ * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
+ * cqlsh: add support for multiline comments (CASSANDRA-5798)
+ * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
+ (CASSANDRA-5856)
+
+
+2.0.0-rc1
+ * improve DecimalSerializer performance (CASSANDRA-5837)
+ * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
+ * fix schema-related trigger issues (CASSANDRA-5774)
+ * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
+ * Fix assertion error during repair (CASSANDRA-5801)
+ * Fix range tombstone bug (CASSANDRA-5805)
+ * DC-local CAS (CASSANDRA-5797)
+ * Add a native_protocol_version column to the system.local table (CASSANRDA-5819)
+ * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
+ * Fix buffer underflow on socket close (CASSANDRA-5792)
+Merged from 1.2:
+ * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
+ * cqlsh: add collections support to COPY (CASSANDRA-5698)
+ * retry important messages for any IOException (CASSANDRA-5804)
+ * Allow empty IN relations in SELECT/UPDATE/DELETE statements (CASSANDRA-5626)
+ * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
* fix bulk-loading compressed sstables (CASSANDRA-5820)
* (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter
(CASSANDRA-5824)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c316afb/src/java/org/apache/cassandra/tools/SSTableImport.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/SSTableImport.java
index bd74541,68d4397..79584c5
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@@ -245,12 -243,16 +245,17 @@@ public class SSTableImpor
}
else if (col.isRangeTombstone())
{
- cfamily.addAtom(new RangeTombstone(col.getName(), col.getValue(), col.timestamp, col.localExpirationTime));
+ ByteBuffer end = superName == null ? col.getValue() : CompositeType.build(superName, col.getValue());
+ cfamily.addAtom(new RangeTombstone(cname, end, col.timestamp, col.localExpirationTime));
}
+ // cql3 row marker, see CASSANDRA-5852
- else if (!path.columnName.hasRemaining())
++ else if (!cname.hasRemaining())
+ {
- cfamily.addColumn(new QueryPath(cfm.cfName, superName, ByteBuffer.wrap(new byte[3])), col.getValue(), col.timestamp);
++ cfamily.addColumn(ByteBuffer.wrap(new byte[3]), col.getValue(), col.timestamp);
+ }
else
{
- cfamily.addColumn(path, col.getValue(), col.timestamp);
+ cfamily.addColumn(cname, col.getValue(), col.timestamp);
}
}
}