Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 31d5d870f -> 559d61af6
Fix reading columns with non-UTF names from schema patch by Jordan West; reviewed by Aleksey Yeschenko for CASSANDRA-14468 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4b00601e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b00601e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b00601e Branch: refs/heads/cassandra-3.11 Commit: 4b00601e831690e4ccf4ea95f70c09381d0ce49a Parents: d52c7b8 Author: Jordan West <jorda...@gmail.com> Authored: Mon Jul 30 13:06:13 2018 -0700 Committer: Aleksey Yeshchenko <alek...@apple.com> Committed: Tue Jul 31 20:26:12 2018 +0100 ---------------------------------------------------------------------- CHANGES.txt | 4 ++++ src/java/org/apache/cassandra/config/ColumnDefinition.java | 1 - src/java/org/apache/cassandra/cql3/ColumnIdentifier.java | 5 +++++ src/java/org/apache/cassandra/schema/SchemaKeyspace.java | 4 +--- .../org/apache/cassandra/utils/NativeSSTableLoaderClient.java | 4 +--- 5 files changed, 11 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b00601e/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 47e5cd0..d2ca759 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +3.0.18 + * Fix reading columns with non-UTF names from schema (CASSANDRA-14468) + + 3.0.17 * Fix corrupted static collection deletions in 3.0 -> 2.{1,2} messages (CASSANDRA-14568) * Fix potential IndexOutOfBoundsException with counters (CASSANDRA-14167) http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b00601e/src/java/org/apache/cassandra/config/ColumnDefinition.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/config/ColumnDefinition.java b/src/java/org/apache/cassandra/config/ColumnDefinition.java index 6a0f530..6f7f749 100644 --- a/src/java/org/apache/cassandra/config/ColumnDefinition.java +++ b/src/java/org/apache/cassandra/config/ColumnDefinition.java @@ -153,7 +153,6 @@ public class ColumnDefinition extends ColumnSpecification implements Comparable< { super(ksName, cfName, name, type); assert name != null && type != null && kind != null; - assert name.isInterned(); assert (position == NO_POSITION) == !kind.isPrimaryKeyKind(); // The position really only make sense for partition and clustering columns (and those must have one), // so make sure we don't sneak it for something else since it'd breaks equals() this.kind = kind; http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b00601e/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java index 9b9ec4a..71e7b9a 100644 --- a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java +++ b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java @@ -124,6 +124,11 @@ public class ColumnIdentifier extends Selectable implements IMeasurableMemory, C this(bytes, type.getString(bytes), false); } + public ColumnIdentifier(ByteBuffer bytes, String text) + { + this(bytes, text, false); + } + private ColumnIdentifier(ByteBuffer bytes, String text, boolean interned) { this.bytes = bytes; http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b00601e/src/java/org/apache/cassandra/schema/SchemaKeyspace.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java index 81cc2e1..94832ed 100644 --- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java +++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java @@ -1075,9 +1075,7 @@ public final class SchemaKeyspace if (order == ClusteringOrder.DESC) type = ReversedType.getInstance(type); - ColumnIdentifier name = ColumnIdentifier.getInterned(type, - row.getBytes("column_name_bytes"), - row.getString("column_name")); + ColumnIdentifier name = new ColumnIdentifier(row.getBytes("column_name_bytes"), row.getString("column_name")); return new ColumnDefinition(keyspace, table, name, type, position, kind); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b00601e/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java b/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java index 97237d0..3e0d97b 100644 --- a/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java +++ b/src/java/org/apache/cassandra/utils/NativeSSTableLoaderClient.java @@ -218,9 +218,7 @@ public class NativeSSTableLoaderClient extends SSTableLoader.Client if (order == ClusteringOrder.DESC) type = ReversedType.getInstance(type); - ColumnIdentifier name = ColumnIdentifier.getInterned(type, - row.getBytes("column_name_bytes"), - row.getString("column_name")); + ColumnIdentifier name = new ColumnIdentifier(row.getBytes("column_name_bytes"), row.getString("column_name")); int position = row.getInt("position"); ColumnDefinition.Kind kind = ColumnDefinition.Kind.valueOf(row.getString("kind").toUpperCase()); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org